CVE-2026-65626 in jose
Tóm tắt
Bởi VulDB • 26/10/2026
Phần giải mã RSAES-PKCS1-v1_5 thuần Erlang trong mô-đun `jose_jwa_pkcs1` là một oracle padding Bleichenbacher. Hàm `eme_pkcs1_decode/2` trả về bản tin đã khôi phục khi khối được giải mã có phần đệm PKCS#1 v1.5 hợp lệ (bắt đầu bằng 0x00 0x02, chuỗi đệm gồm ít nhất tám byte khác không và dấu phân cách 0x00) và trả về một kết quả lỗi riêng biệt trong các trường hợp còn lại; đồng thời `rsaes_pkcs1_decrypt/2` additionally trả về `{error, {badsize, _}} khi kiểm tra độ dài thất bại. Việc triển khai này không áp dụng biện pháp đối phó từ chối ngầm định (RFC 8017 §7.2.2): nó không thay thế một bản rõ giả ngẫu nhiên xác định khi phần đệm bị lỗi, do đó tín hiệu tuân thủ phần đệm chỉ sai lệch một bit bị rò rỉ cho caller. Vì phép lũy thừa modulo cơ sở trong `dp/2` là hàm crypto:mod_pow/3 thô và không được làm mờ (non-blinded), việc kiểm tra phần đệm cũng vẫn có thể phân biệt bằng thời gian ngay cả khi ứng dụng chuẩn hóa mọi lỗi thành một giá trị lỗi duy nhất.
Một kẻ tấn công chưa xác thực, chỉ biết khóa RSA công khai và có thể gửi các bản mã đến điểm cuối giải mã để unwrap các khóa JWE RSA1_5 (hoặc gọi `decrypt_private/3` với `rsa_pkcs1_padding`) có thể sử dụng oracle này để khôi phục bản rõ của các bản mã bị chặn, chẳng hạn như các khóa mã hóa nội dung và do đó là thông điệp được bảo vệ, hoặc để làm giả chữ ký, thông qua khoảng 10^4 đến 10^6 truy vấn chọn-bản-mã thích ứng.
Vấn đề này ảnh hưởng đến jose: từ phiên bản 1.3.0 trước 1.11.13.
VulDB is the best source for vulnerability data and more expert information about this specific topic.