-
09/04/2020
-
122
-
1.385 bài viết
Django phát hành bản vá khẩn cho hai lỗ hổng nghiêm trọng, ảnh hưởng đến mọi phiên bản
Django vừa phát hành loạt bản vá khẩn cấp xử lý hai lỗ hổng bảo mật nghiêm trọng, ảnh hưởng đến hầu hết các phiên bản đang được sử dụng. Các bản cập nhật lần này xuất hiện trên Django 5.2.9, 5.1.15, 4.2.27, kể cả Django 6.0 bản gần hoàn chỉnh chuẩn bị ra mắt và cả nhánh phát triển chính, cho thấy mức độ khẩn cấp và phạm vi ảnh hưởng rất lớn trong cộng đồng phát triển web Python.
Lỗ hổng nghiêm trọng nhất là CVE-2025-13372 do Stackered phát hiện. Vấn đề xuất hiện trong FilteredRelation khi Django làm việc với PostgreSQL. Khi lập trình viên truyền dictionary vào các hàm annotate() hoặc alias(), Django mở rộng dữ liệu này để tạo bí danh cho cột. Cách xử lý sai khiến kẻ tấn công có thể lợi dụng cú pháp **kwargs để chèn trực tiếp câu lệnh SQL độc hại. Cơ chế lọc tham số bị vượt qua, dẫn đến nguy cơ đọc, sửa hoặc xóa dữ liệu trong hệ thống đang vận hành.
Trong khi đó, lỗ hổng từ chối dịch vụ CVE-2025-64460 do chuyên gia bảo mật Seokchan Yoon phát hiện lại nằm trong chức năng XML Serializer. Hàm getInnerText() xử lý text node theo cách nối chuỗi lặp lại nhiều lần, dẫn đến độ phức tạp O(n²). Khi phải phân tích một tệp XML được tạo đặc biệt, hàm này nhanh chóng tiêu tốn lượng lớn CPU và bộ nhớ, khiến ứng dụng chậm lại hoặc ngừng phản hồi. Những dịch vụ backend có sử dụng XML Deserializer để xử lý dữ liệu đầu vào là mục tiêu dễ bị khai thác nhất, chỉ cần một payload XML mà kẻ tấn công chuẩn bị kỹ cũng đã đủ để gây nghẽn hệ thống.
Các bản vá cho hai lỗ hổng được Django phát hành ngày 2 tháng 12 năm 2025, kèm chữ ký PGP của Natalia Bidart với key ID 2EE82A8D9470983E nhằm đảm bảo tính toàn vẹn. Các bản vá được thiết kế để cài đặt thẳng vào hệ thống hiện tại, không cần chỉnh sửa lại ứng dụng.
Cả hai lỗ hổng đều ảnh hưởng đến tất cả phiên bản Django còn trong vòng hỗ trợ, khiến phạm vi rủi ro rất rộng. Trong đó, lỗi SQL Injection đặc biệt nguy hiểm vì kẻ tấn công có thể can thiệp trực tiếp vào cơ sở dữ liệu. Lỗ hổng từ chối dịch vụ tuy ít nghiêm trọng hơn nhưng đủ sức làm chậm hoặc làm tê liệt ứng dụng chỉ bằng vài yêu cầu độc hại.
Django khuyến nghị các đội kỹ thuật nhanh chóng kiểm tra phiên bản đang triển khai, cập nhật bản vá ngay khi có thể, đồng thời quét lại toàn bộ hệ thống để bảo đảm không có dấu hiệu bị khai thác.
Lỗ hổng nghiêm trọng nhất là CVE-2025-13372 do Stackered phát hiện. Vấn đề xuất hiện trong FilteredRelation khi Django làm việc với PostgreSQL. Khi lập trình viên truyền dictionary vào các hàm annotate() hoặc alias(), Django mở rộng dữ liệu này để tạo bí danh cho cột. Cách xử lý sai khiến kẻ tấn công có thể lợi dụng cú pháp **kwargs để chèn trực tiếp câu lệnh SQL độc hại. Cơ chế lọc tham số bị vượt qua, dẫn đến nguy cơ đọc, sửa hoặc xóa dữ liệu trong hệ thống đang vận hành.
Trong khi đó, lỗ hổng từ chối dịch vụ CVE-2025-64460 do chuyên gia bảo mật Seokchan Yoon phát hiện lại nằm trong chức năng XML Serializer. Hàm getInnerText() xử lý text node theo cách nối chuỗi lặp lại nhiều lần, dẫn đến độ phức tạp O(n²). Khi phải phân tích một tệp XML được tạo đặc biệt, hàm này nhanh chóng tiêu tốn lượng lớn CPU và bộ nhớ, khiến ứng dụng chậm lại hoặc ngừng phản hồi. Những dịch vụ backend có sử dụng XML Deserializer để xử lý dữ liệu đầu vào là mục tiêu dễ bị khai thác nhất, chỉ cần một payload XML mà kẻ tấn công chuẩn bị kỹ cũng đã đủ để gây nghẽn hệ thống.
Các bản vá cho hai lỗ hổng được Django phát hành ngày 2 tháng 12 năm 2025, kèm chữ ký PGP của Natalia Bidart với key ID 2EE82A8D9470983E nhằm đảm bảo tính toàn vẹn. Các bản vá được thiết kế để cài đặt thẳng vào hệ thống hiện tại, không cần chỉnh sửa lại ứng dụng.
Cả hai lỗ hổng đều ảnh hưởng đến tất cả phiên bản Django còn trong vòng hỗ trợ, khiến phạm vi rủi ro rất rộng. Trong đó, lỗi SQL Injection đặc biệt nguy hiểm vì kẻ tấn công có thể can thiệp trực tiếp vào cơ sở dữ liệu. Lỗ hổng từ chối dịch vụ tuy ít nghiêm trọng hơn nhưng đủ sức làm chậm hoặc làm tê liệt ứng dụng chỉ bằng vài yêu cầu độc hại.
Django khuyến nghị các đội kỹ thuật nhanh chóng kiểm tra phiên bản đang triển khai, cập nhật bản vá ngay khi có thể, đồng thời quét lại toàn bộ hệ thống để bảo đảm không có dấu hiệu bị khai thác.
Theo Cyber Press