HAProxy dễ bị khai thác bởi tấn công HTTP Request Smuggling

DDos

VIP Members
22/10/2013
524
2.191 bài viết
HAProxy dễ bị khai thác bởi tấn công HTTP Request Smuggling
Gần đây, một lỗ hổng an ninh mạng nghiêm trọng trên HAProxy đã được phát hiện. Lỗ hổng này cho phép kẻ tấn công đánh cắp các yêu cầu HTTP, dẫn đến việc truy cập vào các thông tin nhạy cảm, thực thi mã tùy ý và thực hiện các hành vi độc hại khác trên hệ thống. HAProxy là một công cụ mã nguồn mở ứng dụng cho giải pháp cần bằng tải TCP và HTTP, được sử dụng rất rộng mãi trên các hệ thống máy chủ web.

Haproxy.jpg

Với mã định danh CVE-2021-40346, lỗ hổng tràn số nguyên có điểm CVSS 8.6, được khắc phục trong phiên bản HAProxy 2.0.25, 2.2.17, 2.3.14 và 2.4.4.

HTTP request smuggling (HRS) còn được biết đến với tên gọi HTTP desynchronization, là một kỹ thuật tấn công nhằm vào các HTTP server (web server, proxy server). Bất cứ khi nào một HTTP request của client được phân tích bởi nhiều hơn một hệ thống thì đều có khả năng bị HRS. Để tiến hành HRS, không nhất thiết ứng dụng web phải có lỗ hổng (chẳng hạn SQL Injection, XSS...), thay vào đó, nó chỉ cần một sự khác nhau nhỏ trong cách xử lý các HTTP request không hợp lệ của các HTTP server. Kẻ tấn công sẽ gửi đi những HTTP request không hợp lệ để xem phản ứng của hai hệ thống, từ đó, tìm cách vượt qua bộ lọc của các hệ thống này.

Nói cách khác, do sự cố phát sinh từ cách máy chủ front-end và back-end xử lý phần đầu và phần cuối của mỗi yêu cầu bằng cách sử dụng các tiêu đề Content-Length và Transfer-Encoding, phần cuối của một yêu cầu HTTP giả mạo bị tính toán sai, dẫn đến nội dung độc hại không được xử lý bởi một máy chủ, và yêu cầu độc hại này tiếp tục được gửi đến các máy chủ khác trong chuỗi.

Nhà nghiên cứu của JFrog cho biết: "Cuộc tấn công có thể xảy ra bằng cách sử dụng lỗ hổng tràn số nguyên cho phép tạo các yêu cầu độc hại tới HAProxy trong quá trình phân tích và xử lý các tiêu đề Content-Length của một yêu cầu HTTP."

Kẻ tấn công có thể sử dụng lỗ hổng này để kích hoạt tấn công HTTP request smuggling nhằm vượt qua các quy tắc danh sách kiểm soát truy cập (ACL) được đưa ra bởi HAProxy.

Ngay sau khi nhận được báo cáo, vào ngày 3 tháng 9, HAProxy đã đưa ra các biện pháp khắc phục bằng cách thêm các quá trình kiểm tra kích thước cho độ dài của tên và giá trị của tiêu đề content-length.

Nếu không thể nâng cấp lên phiên bản đã khắc phục lỗ hổng, người dùng có thể thêm đoạn mã dưới đây vào cấu hình proxy để giảm thiểu các cuộc tấn công:

Mã:
http-request deny if { req.hdr_cnt(content-length) gt 1 }

http-response deny if { res.hdr_cnt(content-length) gt 1 }
Theo: thehackernews
 
Chỉnh sửa lần cuối bởi người điều hành:
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-2021-40346 haproxy http desynchronization http request smuggling
Bên trên