-
09/04/2020
-
117
-
1.224 bài viết
Lỗ hổng nghiêm trọng trong ASP.NET Core cho phép tấn công HTTP Request Smuggling
Microsoft vừa phát hành bản vá khẩn cấp cho một lỗ hổng nghiêm trọng trong ASP.NET Core. Lỗi này cho phép kẻ tấn công khai thác kỹ thuật HTTP Request Smuggling, khiến hệ thống xử lý sai lệch các yêu cầu HTTP và vô hiệu hóa các cơ chế bảo mật. Lỗ hổng mang mã định danh CVE-2025-55315 với điểm CVSS 9,9/10 và được xếp vào nhóm cực kỳ nguy hiểm.
Vấn đề xuất phát từ cách Kestrel xử lý các yêu cầu HTTP, khiến máy chủ đôi khi đọc sai ranh giới giữa các yêu cầu. Trong một số tình huống, Kestrel không xác định chính xác ranh giới giữa các yêu cầu HTTP, tạo cơ hội cho kẻ tấn công chèn thêm yêu cầu độc hại bên trong một yêu cầu hợp lệ. Khi đó, những lớp bảo vệ như xác thực, phân quyền hay kiểm tra đầu vào đều có thể bị qua mặt.
HTTP Request Smuggling khai thác sự khác biệt trong cách proxy, load balancer và máy chủ backend hiểu tiêu chuẩn HTTP. Khi các tiêu đề như Content-Length và Transfer-Encoding mâu thuẫn, từng lớp có thể diễn giải luồng dữ liệu khác nhau, tạo cơ hội cho kẻ tấn công giấu một yêu cầu ẩn trong luồng hợp lệ. Trong hạ tầng hiện đại, nơi CDN, proxy và nhiều lớp cân bằng tải cùng tham gia định tuyến, một yêu cầu bị “smuggle” có thể trượt qua các lớp trung gian và chạm tới logic ứng dụng mà khó phát hiện qua log, biến lỗi tầng vận chuyển thành cửa hậu trên tầng ứng dụng.
Nguy cơ của CVE-2025-55315 không chỉ là vượt qua các cơ chế bảo vệ mà còn nằm ở khả năng gây hậu quả nghiêm trọng cho ứng dụng. Một yêu cầu đăng nhập bị chèn vào có thể cho phép kẻ tấn công thao túng luồng xác thực để leo quyền và chiếm quyền quản trị, trong khi một yêu cầu ẩn khác hướng đến API nội bộ có thể kích hoạt SSRF và mở đường tới tài nguyên tưởng chừng chỉ dành cho mạng nội bộ. Thêm vào đó, nếu kẻ tấn công qua mặt cơ chế xác minh CSRF, việc chiếm đoạt phiên người dùng sẽ trở nên khả thi, khiến hành động độc hại được thực hiện dưới danh nghĩa người dùng hợp lệ. Mối nguy này càng gia tăng trong môi trường có nhiều lớp trung gian và CDN, vì các cuộc tấn công có thể được tự động hóa và diễn ra mà không để lại dấu hiệu rõ rệt trong log, khiến phát hiện và phản ứng gặp nhiều khó khăn hơn.
Lỗ hổng này đặc biệt nguy hiểm vì không yêu cầu quyền truy cập hay tương tác từ người dùng, cho phép kẻ tấn công tự động hóa khai thác trên diện rộng. Những tổ chức xử lý dữ liệu nhạy cảm như ngân hàng, bệnh viện hay cơ quan quản lý thông tin cá nhân trở thành mục tiêu hàng đầu, bởi một lần tấn công thành công có thể dẫn đến rò rỉ dữ liệu, chiếm đoạt phiên người dùng hoặc leo quyền quản trị. Microsoft đã phát hành bản vá khắc phục lỗi phân tách yêu cầu trong Kestrel và việc triển khai trên toàn bộ môi trường phát triển, thử nghiệm và sản xuất là bắt buộc. Đồng thời, các đội an ninh cần rà soát log, điều chỉnh luật WAF, kiểm tra tiêu đề HTTP và thực thi phân tách mạng, xác thực CSRF cùng kiểm tra đầu vào chặt chẽ để củng cố phòng thủ trong khi hoàn tất quá trình vá.
Với mức độ nguy hiểm cao và khả năng khai thác dễ dàng, CVE-2025-55315 hiện được đánh giá là một trong những lỗ hổng ASP.NET Core đáng lo ngại nhất năm 2025.
Vấn đề xuất phát từ cách Kestrel xử lý các yêu cầu HTTP, khiến máy chủ đôi khi đọc sai ranh giới giữa các yêu cầu. Trong một số tình huống, Kestrel không xác định chính xác ranh giới giữa các yêu cầu HTTP, tạo cơ hội cho kẻ tấn công chèn thêm yêu cầu độc hại bên trong một yêu cầu hợp lệ. Khi đó, những lớp bảo vệ như xác thực, phân quyền hay kiểm tra đầu vào đều có thể bị qua mặt.
HTTP Request Smuggling khai thác sự khác biệt trong cách proxy, load balancer và máy chủ backend hiểu tiêu chuẩn HTTP. Khi các tiêu đề như Content-Length và Transfer-Encoding mâu thuẫn, từng lớp có thể diễn giải luồng dữ liệu khác nhau, tạo cơ hội cho kẻ tấn công giấu một yêu cầu ẩn trong luồng hợp lệ. Trong hạ tầng hiện đại, nơi CDN, proxy và nhiều lớp cân bằng tải cùng tham gia định tuyến, một yêu cầu bị “smuggle” có thể trượt qua các lớp trung gian và chạm tới logic ứng dụng mà khó phát hiện qua log, biến lỗi tầng vận chuyển thành cửa hậu trên tầng ứng dụng.
Nguy cơ của CVE-2025-55315 không chỉ là vượt qua các cơ chế bảo vệ mà còn nằm ở khả năng gây hậu quả nghiêm trọng cho ứng dụng. Một yêu cầu đăng nhập bị chèn vào có thể cho phép kẻ tấn công thao túng luồng xác thực để leo quyền và chiếm quyền quản trị, trong khi một yêu cầu ẩn khác hướng đến API nội bộ có thể kích hoạt SSRF và mở đường tới tài nguyên tưởng chừng chỉ dành cho mạng nội bộ. Thêm vào đó, nếu kẻ tấn công qua mặt cơ chế xác minh CSRF, việc chiếm đoạt phiên người dùng sẽ trở nên khả thi, khiến hành động độc hại được thực hiện dưới danh nghĩa người dùng hợp lệ. Mối nguy này càng gia tăng trong môi trường có nhiều lớp trung gian và CDN, vì các cuộc tấn công có thể được tự động hóa và diễn ra mà không để lại dấu hiệu rõ rệt trong log, khiến phát hiện và phản ứng gặp nhiều khó khăn hơn.
Lỗ hổng này đặc biệt nguy hiểm vì không yêu cầu quyền truy cập hay tương tác từ người dùng, cho phép kẻ tấn công tự động hóa khai thác trên diện rộng. Những tổ chức xử lý dữ liệu nhạy cảm như ngân hàng, bệnh viện hay cơ quan quản lý thông tin cá nhân trở thành mục tiêu hàng đầu, bởi một lần tấn công thành công có thể dẫn đến rò rỉ dữ liệu, chiếm đoạt phiên người dùng hoặc leo quyền quản trị. Microsoft đã phát hành bản vá khắc phục lỗi phân tách yêu cầu trong Kestrel và việc triển khai trên toàn bộ môi trường phát triển, thử nghiệm và sản xuất là bắt buộc. Đồng thời, các đội an ninh cần rà soát log, điều chỉnh luật WAF, kiểm tra tiêu đề HTTP và thực thi phân tách mạng, xác thực CSRF cùng kiểm tra đầu vào chặt chẽ để củng cố phòng thủ trong khi hoàn tất quá trình vá.
Với mức độ nguy hiểm cao và khả năng khai thác dễ dàng, CVE-2025-55315 hiện được đánh giá là một trong những lỗ hổng ASP.NET Core đáng lo ngại nhất năm 2025.
Theo Cyber Press
Chỉnh sửa lần cuối: