Tóm tắt nhanh
- AutoMapper có lỗ hổng đệ quy không kiểm soát CVE-2026-128081.
- Dữ liệu lồng sâu có thể gây StackOverflowException và kết thúc tiến trình ứng dụng.
- Các nhánh dưới 15.1.4 và từ 16.0.0 đến dưới 16.3.0 bị ảnh hưởng.
- Kiểm tra gói và nâng cấp lên 15.1.4 hoặc 16.3.0 theo nhánh đang sử dụng.
AutoMapper: lỗ hổng tràn ngăn xếp, kiểm tra phiên bản và nâng cấp bản vá
AutoMapper mắc CVE-2026-128081, lỗ hổng đệ quy không kiểm soát có thể gây tràn ngăn xếp và làm tiến trình ứng dụng kết thúc. Các nhánh dưới 15.1.4 và từ 16.0.0 đến dưới 16.3.0 bị ảnh hưởng; hãy kiểm tra gói và nâng cấp lên 15.1.4 hoặc 16.3.0 tương ứng.
Nội dung bài viết
GitHub Advisories đã công bố cảnh báo về lỗ hổng tràn ngăn xếp trong AutoMapper, thư viện .NET dùng để ánh xạ dữ liệu giữa các đối tượng. Ưu tiên kiểm tra phiên bản đang được dự án sử dụng và nâng cấp lên bản đã vá tương ứng.
Tổng quan và thông tin kỹ thuật
Lỗ hổng CVE-2026-128081 được phân loại là CWE-674 (Uncontrolled Recursion). Điểm số là CVSS 7.5 theo CVSS:3.1, với vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.
| Thông tin | Chi tiết |
|---|---|
| Sản phẩm | AutoMapper, thư viện .NET ánh xạ dữ liệu giữa các đối tượng |
| Mã định danh | CVE-2026-128081; GHSA-gpwp-5797-mjff; CVE-2026-32933 |
| Phân loại | CWE-674 (Uncontrolled Recursion) |
| CVSS | 7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) |
Phạm vi ảnh hưởng
| Sản phẩm | Phiên bản ảnh hưởng | Phiên bản đã vá |
|---|---|---|
| nuget:AutoMapper | >= 16.0.0, < 16.3.0 | 16.3.0 |
| nuget:AutoMapper | < 15.1.4 | 15.1.4 |
Cơ chế và tác động
Một số đường ánh xạ có thể bỏ qua giới hạn MaxDepth, gồm ánh xạ đa hình, thành viên kiểu object hoặc interface, nguồn Dictionary/dynamic và bộ chuyển đổi kiểu đệ quy. Kẻ tấn công có thể cung cấp dữ liệu lồng sâu để gây StackOverflowException không thể bắt, khiến tiến trình ứng dụng bị kết thúc.
Hồ sơ nêu rằng với ngăn xếp mặc định 1 MB trên Windows, vài nghìn cấp lồng nhau có thể đủ gây lỗi. Tác động được xác nhận là làm gián đoạn tính sẵn sàng của ứng dụng.
Kiểm tra hệ thống
- Kiểm tra phiên bản AutoMapper trực tiếp và bắc cầu trong dự án .NET. Nếu gói nằm trong dải bị ảnh hưởng, nâng cấp lên phiên bản đã vá tương ứng.
dotnet list package --include-transitiveKhắc phục và giảm thiểu
- Ưu tiên nâng cấp: dùng AutoMapper 16.3.0 cho nhánh 16.0.0 đến dưới 16.3.0, hoặc 15.1.4 cho nhánh dưới 15.1.4.
- Biện pháp tạm thời: đặt
MaxDepthrõ ràng trên các map kiểu dẫn xuất và các map được gọi qua thành viênobjecthoặc interface. - Với nguồn Dictionary/dynamic và bộ chuyển đổi kiểu đệ quy, giới hạn độ sâu đầu vào trước khi ánh xạ. Hồ sơ cho biết không có workaround cấu hình cho các trường hợp này.