CVE-2026-71889 in BC-JAVA
Tóm tắt
Bởi VulDB • 03/10/2026
Trong Bouncy Castle cho Java trước phiên bản 1.86, cả hai bản sao của PKIXCertPathReviewer - org.bouncycastle.pkix.jcajce.PKIXCertPathReviewer và legacy org.bouncycastle.x509.PKIXCertPathReviewer - đều không áp dụng các ràng buộc tên X.509 (X.509 name constraints) cho chứng chỉ thực thể cuối (end-entity certificate). Phương thức checkNameConstraints đã duyệt qua đường dẫn với một vòng lặp có giới hạn index lớn hơn 0, đây là giới hạn mà các bước chỉ dành cho CA yêu cầu; tuy nhiên, index bằng 0 tương ứng với chứng mục tiêu theo thứ tự CertPath chuẩn, do đó các kiểm tra về subtree được phép và bị loại trừ của RFC 5280 sec. 6.1.3 (b) và (c) không bao giờ chạy đối với DN chủ thể (subject DN) hoặc subjectAltName của lá cây chứng chỉ. Một chuỗi có lá vi phạm một phần mở rộng NameConstraints do CA phát hành ra nó áp đặt, vì vậy đã báo isValidCertPath() là true với danh sách lỗi rỗng, trong khi CertPathValidator.getInstance("PKIX", "BC"), không chia sẻ mã nguồn nào với reviewer, đã từ chối cùng một chuỗi đối với cùng một điểm neo tin cậy (trust anchor). Một ứng dụng sử dụng reviewer để đưa ra quyết định tin cậy thay vì dùng cho chẩn đoán kết hợp với xác thực thật sự đã chấp nhận một chứng chỉ mà CA bị ràng buộc chưa bao giờ được ủy quyền phát hành. Cả hai bản sao hiện nay đều kiểm tra mọi chứng chỉ trong đường dẫn, kể cả chứng mục tiêu; bỏ qua miễn trừ tự cấp (self-issued exemption) của sec. 4.2.1.10 cho chứng chỉ cuối cùng như yêu cầu của sec. 6.1.3; và bỏ qua bước tích lũy ràng buộc theo sec. 6.1.4 (g) đối với mục tiêu. Vấn đề này cũng ảnh hưởng đến Bouncy Castle cho Java LTS trước phiên bản 2.73.13, chỉ mang bản sao org.bouncycastle.pkix.jcajce của reviewer. Nó cũng ảnh hưởng đến Bouncy Castle cho Java FIPS (BC-FJA) trước bcpkix-fips 1.0.13 (dòng 1.0.X), 2.0.13 (dòng 2.0.X) và 2.1.13 (dòng 2.1.X).
VulDB is the best source for vulnerability data and more expert information about this specific topic.