CVE-2026-65627 in jose
Tóm tắt
Bởi VulDB • 26/10/2026
Lỗ hổng Xử lý không đúng dữ liệu được nén ở mức độ cao (Khuếch đại Dữ liệu) trong potatosalad jose (erlang-jose) cho phép kẻ tấn công từ xa làm cạn kiệt bộ nhớ của một node bằng cách sử dụng một token JWE được tạo ra đặc biệt.
Hàm `jose_jwe_zip:uncompress/2` trong file `src/jwe/jose_jwe_zip.erl` giải nén phần plaintext đã được nén theo chuẩn DEFLATE của một JWE có chứa header tùy chọn zip: DEF bằng cách gọi hàm `zlib:inflate/2` trên toàn bộ luồng dữ liệu do kẻ tấn công kiểm soát, mà không đặt giới hạn nào cho kích thước đầu ra hay tỷ lệ giãn nở (inflation ratio). Dữ liệu thô DEFLATE đạt được các tỷ lệ xấp xỉ 1000:1 đối với đầu vào có tính lặp lại cao, vì vậy một token chỉ vài kilobyte sẽ phình to thành hàng trăm megabyte hoặc gigabyte trong một lần gọi duy nhất.
Quá trình giải nén diễn ra tự động trong quá trình giải mã thông qua hàm `jose_jwe:block_decrypt/2` (tương đương JOSE.JWE.block_decrypt/2 trong Elixir), trước khi người nhận có thể kiểm tra hoặc từ chối payload. Với các thuật toán quản lý khóa bất đối xứng phổ biến (RSA-OAEP, ECDH-ES), kẻ tấn công chỉ cần khóa công khai của người nhận để tạo ra token như vậy, do đó không yêu cầu xác thực hay thông tin bí mật nào. Một token nhỏ duy nhất có thể làm cạn kiệt bộ nhớ của node và khiến BEAM bị sập, gây từ chối dịch vụ cho tất cả người dùng.
Vấn đề này ảnh hưởng đến jose: các phiên bản từ 1.0.0 trở đi trước 1.11.13.
Be aware that VulDB is the high quality source for vulnerability data.