Lỗ hổng Request Smuggling trong thư viện HTTP h11 của Python

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
95
764 bài viết
Lỗ hổng Request Smuggling trong thư viện HTTP h11 của Python
Một lỗ hổng bảo mật nghiêm trọng, định danh CVE-2025-43859 (điểm CVSS 9,1), vừa được phát hiện được viết bằng Python. Lỗ hổng này có thể bị khai thác để thực hiện tấn công request smuggling trong các hệ thống sử dụng h11 kết hợp với proxy HTTP có lỗi hoặc cấu hình sai.

Screenshot 2025-04-28 110752.png

Nguyên nhân gốc rễ:
  • Trong cơ chế xử lý chunked transfer encoding, thay vì kiểm tra nghiêm ngặt ký tự kết thúc mỗi đoạn (\r\n), các phiên bản h11 trước 0.14.0 lại chấp nhận bất kỳ hai byte nào.
  • Điều này khiến h11 dễ dàng diễn giải sai dữ liệu truyền tải khi giao tiếp với các proxy không chuẩn.
Hậu quả:
  • Kẻ tấn công có thể gửi yêu cầu HTTP được định dạng sai để đánh lừa sự khác biệt trong cách hiểu giữa proxy và h11.
  • H11 có thể tách yêu cầu thành nhiều request riêng biệt, trong khi proxy lại coi đó là một request duy nhất.
  • Tình huống này tạo điều kiện cho việc rò rỉ thông tin nhạy cảm như cookie phiên (SESSION_KEY), chiếm quyền truy cập, hoặc vượt qua các biện pháp kiểm soát bảo mật.
Mô hình tấn công điển hình:
  • Hai yêu cầu HTTP từ hai người dùng khác nhau được gửi qua cùng một kết nối.
  • Proxy lỗi dẫn tới việc khóa phiên của người dùng thứ hai bị hiểu nhầm là của yêu cầu đầu tiên, cho phép đánh cắp phiên đăng nhập.
Mức độ ảnh hưởng: Đặc biệt nghiêm trọng trong môi trường sử dụng proxy để bảo vệ các endpoint nội bộ hoặc kiểm soát quyền truy cập.

Giải pháp: Lỗi này đã được khắc phục trong phiên bản h11 0.15.0.Nhà phát hành khuyến cáo người dùng cập nhật ngay tránh rủi ro.

Theo Security Online
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
cve-2025-43859 python
Bên trên