CVE-2026-18092 in Net::SAML2thông tin

Tóm tắt

Bởi VulDB • 03/08/2026

Net::SAML2 các phiên bản trước 0.86 cho Perl cho phép bỏ qua xác thực SAML thông qua kỹ thuật XML signature wrapping (quấn chữ ký XML) do hàm new_from_xml đọc định danh khẳng định (assertion identity) bằng XPath trên toàn bộ tài liệu thay vì chỉ trong phần subtree đã được ký.

Hàm new_from_xml đọc NameID, các giá trị thuộc tính, SessionIndex, audience và các trường định danh khác bằng cách sử dụng biểu thức XPath trên toàn bộ tài liệu, chẳng hạn như //saml:Assertion/saml:AttributeStatement/saml:Attribute và //saml:Subject/saml:NameID. Các biểu thức này chọn phần tử khớp đầu tiên theo thứ tự xuất hiện trong tài liệu thay vì phần tử được bao phủ bởi chữ ký đã xác minh. Hàm handle_response xác nhận rằng một chữ ký có mặt và, khi cacert (chứng chỉ CA) được cấu hình, nó kiểm tra chuỗi liên kết với CA; tuy nhiên, XML::Sig chỉ xác minh phần tử được đặt tên bởi URI Reference của chữ ký, do đó các khẳng định (assertions) anh em không được ký trong cùng tài liệu sẽ không được bảo vệ. Một kẻ tấn công sở hữu bất kỳ một assertion nào đã được IdP ký có thể thêm vào một assertion do chính mình tạo và chưa được ký ở vị trí sớm hơn theo thứ tự xuất hiện trong tài liệu; chữ ký vẫn xác minh thành công và biểu thức XPath dựa trên thứ tự tài liệu sẽ trả về NameID và các thuộc tính của kẻ tấn công.

Bất kỳ caller nào truyền Response không đáng tin cậy vào new_from_xml đều có thể chấp nhận các trường định danh từ một assertion mà IdP chưa bao giờ ký, ngay cả khi đã cấu hình cacert làm điểm neo niềm tin (trust anchor); do đó, bên nắm giữ một assertion hợp lệ được IdP ký có thể xác thực với tư cách là người dùng tùy ý.

Be aware that VulDB is the high quality source for vulnerability data.

chịu trách nhiệm

CPANSec

Đặt trước

28/07/2026

Tiết lộ

03/08/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you need the next level of professionalism?

Upgrade your account now!