15/11/2026

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á

CVE-2026-128082CVE-2026-32933

AutoMapper bị ảnh hưởng bởi CVE-2026-128082: đệ quy qua tham số constructor có thể vượt giới hạn độ sâu và làm tiến trình ứng dụng kết thúc. Kiểm tra cả gói trực tiếp lẫn gián tiếp; nâng cấp lên 16.3.0 hoặc 15.1.4 theo nhánh.

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á

Tóm tắt nhanh

  • AutoMapper có lỗ hổng tràn ngăn xếp CVE-2026-128082 khi đệ quy qua tham số constructor.
  • Dữ liệu lồng sâu do kẻ tấn công kiểm soát có thể làm tiến trình ứng dụng kết thúc.
  • AutoMapper từ 16.0.0 đến trước 16.3.0 và các phiên bản dưới 15.1.4 bị ảnh hưởng.
  • Ưu tiên nâng cấp lên 16.3.0 hoặc 15.1.4 theo nhánh đang sử dụng.
Nội dung bài viết

GitHub Advisories công bố lỗ hổng trong AutoMapper, thư viện .NET dùng để ánh xạ dữ liệu giữa các đối tượng. Dưới đây là phạm vi phiên bản, cơ chế ảnh hưởng và các bước kiểm tra, khắc phục theo advisory.

Tổng quan và thông tin kỹ thuật

CVE-2026-128082 là lỗi đệ quy không được kiểm soát khi ánh xạ qua tham số constructor. Advisory phân loại lỗi là CWE-674 và ghi nhận điểm CVSS 7.5 theo CVSS 3.1.

Thông tinChi tiết
Sản phẩmAutoMapper, thư viện .NET ánh xạ dữ liệu giữa các đối tượng
CVE / GHSACVE-2026-128082 / GHSA-6vhm-j9h7-f9gh
CWECWE-674 (Uncontrolled Recursion)
CVSS7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Mã liên quanCVE-2026-32933 (GHSA-rvv3-g6hj-g44x)
NguồnGitHub Advisories

Phạm vi ảnh hưởng

Sản phẩmPhiên bản ảnh hưởngPhiên bản đã vá
nuget:AutoMapper>= 16.0.0, < 16.3.016.3.0
nuget:AutoMapper< 15.1.415.1.4

Cơ chế và tác động

Khi ánh xạ qua tham số constructor, MaxDepth không được tính trước khi tạo đối tượng đích. Do đó, cả giới hạn được đặt rõ ràng lẫn giới hạn mặc định 64 đều có thể bị vượt qua. Dữ liệu lồng sâu do kẻ tấn công kiểm soát có thể gây StackOverflowException không thể bắt và làm tiến trình ứng dụng kết thúc.

Lỗi cũng ảnh hưởng đến ConstructUsing khi ánh xạ đệ quy qua context.Mapper.

Kiểm tra hệ thống

  1. Kiểm tra phiên bản AutoMapper được khai báo trực tiếp trong dự án .NET:

    dotnet list package

    Nếu phiên bản nằm trong khoảng bị ảnh hưởng, nâng cấp lên 16.3.0 hoặc 15.1.4 tương ứng.

  2. Kiểm tra cả các gói NuGet phụ thuộc được đưa vào gián tiếp:

    dotnet list package --include-transitive

    Nếu AutoMapper xuất hiện với phiên bản bị ảnh hưởng, cập nhật phụ thuộc lên bản đã vá.

Khắc phục và giảm thiểu

  1. Ưu tiên nâng cấp: chuyển AutoMapper lên 16.3.0 hoặc 15.1.4 theo nhánh phiên bản đang sử dụng.

  2. Nếu chưa thể nâng cấp: giới hạn độ sâu đầu vào trước khi ánh xạ.

  3. Với kiểu đích có constructor không tham số và thuộc tính có thể gán, có thể tạm dùng cfg.DisableConstructorMapping() để ánh xạ qua thuộc tính, nơi MaxDepth được thực thi.

  4. Với positional record, hồ sơ nêu giới hạn độ sâu đầu vào trước khi ánh xạ hoặc nâng cấp; không có workaround khác.

Nguồn: GitHub Advisories — GHSA-6vhm-j9h7-f9gh.

Bài viết liên quan