Tồn tại 15 năm, lỗ hổng trong Python chưa bao giờ được vá đang đe dọa 350,000 dự án

www.tuoitre.vn -   20/09/2022 12:00:00 663

Một lỗ hổng trong ngôn ngữ lập trình Python đã bị bỏ qua trong 15 năm giờ đây đang được chú ý trở lại khi nó có khả năng ảnh hưởng tới 350.000 repo mã nguồn mở và có thể dẫn tới thực thi code tùy ý.

Tồn tại 15 năm, lỗ hổng trong Python chưa bao giờ được vá đang đe dọa 350,000 dự án

Được tiết lộ vào năm 2007 và được gắn mã CVE-2007-4559, lỗ hổng bảo mật này chưa bao giờ nhận được bản vá, biện pháp giảm thiểu duy nhất được cung cấp chính là một cập nhật tài liệu cảnh báo nhà phát triển về rủi ro.

Chưa được vá kể từ năm 2007

Lỗ hổng bảo mật này nằm trong gói tarfile của Python, trong code sử dụng hàm tarfile.extract() chưa được làm sạch hoặc các giá trị mặc định tích hợp của tarfile.extractall(). Đây là một lỗi truyền qua đường dẫn cho phép hacker ghi đè các file tùy ý.

Chi tiết kỹ thuật về CVE-2007-4559 được công khai kể từ khi báo cáo đầu tiên được đăng tải vào tháng 8/2007. Mặc dù không có báo cáo nào về việc lỗ hổng này bị khai thác trong các cuộc tấn công nhưng nó thể hiện một rủi ro trong chuỗi cung ứng phần mềm.

Đầu năm nay, trong khi điều tra một vấn đề bảo mật khác, CVE-2007-4559 đã được phát hiện lại bởi một nhà nghiên cứu tại Trelix, hãng cung cấp các giải pháp phát hiện và phản hồi mở rộng (XDR) là kết quả của sự hợp nhất giữa McAfee Enterprise và FireEye.

"Việc không viết bất cứ code an toàn nào để làm sạch file thành viên trước khi gọi tarfile.extract() tarfile.extractall() dẫn đến lỗ hổng truyền tải thư mục, cho phép hacker truy cập vào hệ thống file", Charles McFarland, nhà nghiên cứu lỗ hổng thuộc Nhóm Nghiên cứu Các mối đe dọa Nang cao của Trelix cho biết.

Lỗ hổng bắt nguồn từ thực tế là code trong hàm trích xuất thuộc mô-đun tarfile của Python tin cậy tuyệt ddooiss thông tin trong đối tượng TarInfo và tham gia đường dẫn được chuyển đến hàm trích xuất và tên trong đối tượng TarInfo.

Chưa đầy một tuần sau khi được công bố lại, một thông báo trên bảng theo dõi lỗi Python cho biết bản vá lỗi sắp được cập nhật kèm theo cảnh báo rằng có thể nguy hiểm khi trích xuất các bản lưu trữ từ các nguồn không đáng tin cậy.

Tồn tại 15 năm, lỗ hổng trong Python chưa bao giờ được vá đang đe dọa 350,000 dự án

Ước tính có 350.000 dự án bị ảnh hưởng

Phân tích tác động, các nhà nghiên cứu của Trelix phát hiện ra rằng lỗ hổng bảo mật này hiện có mặt trong hàng nghìn dự án phần mềm, cả mã nguồn mở và mã nguồn đóng.

Các nhà nghiên cứu đã rà soát một tập hợp 257 repo nhiều khả năng bao gồm code dễ bị tấn công và kiểm tra thủ công 175 trong số đó để xem liệu chúng có bị ảnh hưởng hay không. Điều này cho thấy 61% trong số chúng dễ bị tấn công.

Khi chạy kiểm tra tự động trên phần còn lại của repo, số lượng các dự án bị ảnh hưởng đã tăng lên 65%, cho thấy rằng đây là một vấn đề phổ biến.

Tuy nhiên, tập mẫu nhỏ kể trên chỉ đóng vai trò là cơ sở để đưa ra ước tính về tất cả các repo bị ảnh hưởng trên GitHub.

"Với sự hỗ trợ của GitHub, chúng tôi có được một tập dữ liệu lớn hơn nhiều, nó cho thấy 588.840 repo có bao gồm "import tarfile" trong code Python", Charles McFarland cho biết.

Áp dụng tỷ lệ 61% được xác định theo cách thủ công trước đó, Trelix ước tính rằng có hơn 350.000 repo dễ bị tấn công, nhiều trong số đó đã sử dụng bởi các công cụ machine learning (ví dụ: GitHub Copilot) để giúp các nhà phát triển hoàn thành dự án nhanh hơn.

Các công cụ machine learning thường dựa vào code từ hàng trăm nghìn repo để cung cấp các tùy chọn tự động hoàn thành. Nếu chúng cung cấp các đoạn code không an toàn, vấn đề sẽ lây lan sang các dự án khác mà nhà phát triển không hề hay biết.

GitHub CoPilot gợi ý code chứa lỗ hổng

Nhìn sâu hơn vào vấn đề, Trelix nhận thấy mã nguồn mở dễ bị tấn công bởi CVE-2007-4559 trải dài trong một số lượng lớn ngành công nghiệp.

Theo dự đoán, lĩnh vực phát triển, công nghệ web và machine learning là các ngành bị ảnh hưởng nhiều nhất theo thứ tự tương ứng.

Tồn tại 15 năm, lỗ hổng trong Python chưa bao giờ được vá đang đe dọa 350,000 dự án

Khai thác CVE-2007-4559

Trong một bài phân tích kỹ thuật mới được đăng tải, nhà nghiên cứu lỗ hổng Trelix, Kasimir Schulz, người phát hiện lại lỗ hổng, đã mô tả các bước đơn giản đề khai thác CVE-2007-4559 trong phiên bản Windows của Spyder IDE, một môi trường phát triển tích hợp đa nền tảng mã nguồn mở.

Các nhà nghiên cứu chỉ ra rằng lỗ hổng bảo mật này cũng có thể được khai thác trên Linux. Họ đã tìm ra cách để ghi file và thực thi code trong một thử nghiệm trên dịch vụ quản lý cơ sở hạ tầng công nghệ thông tin có tên Polemarch.

Ngoài việc hướng sự chú ý đến lỗ hổng và rủi ro mà nó gây ra, Trelix còn tạo ra bản vá cho 11.000 dự án. Các bản vá sẽ có sẵn trong một nhánh của repo bị ảnh hưởng. Sau đó, chúng sẽ được thêm vào dự án chính thông qua các pull request.

Do số lượng repo bị ảnh hưởng là rất lớn, các nhà nghiên cứu hy vọng rằng hơn 70.000 dự án sẽ nhận được bản vá trong vài tuần tới. Tuy nhiên, rất khó để đạt được mốc 100% vì cần sự chấp nhận của người quản lý repo.

Hiện tại, Python Software Foundation chưa đưa ra nhận xét gì về lỗ hổng CVE-2007-4559.

Theo The HackerNews

TIN CÙNG CHUYÊN MỤC

Lưu ý cập nhật ngay bản vá lỗ hổng Googl...

01/12/2023 12:00:00 19
Điều khiến lỗ hổng trở nên tồi tệ nằm ở thực tế là nó hiện đang bị khai thác ngoài thực tế chứ không...

Apple tung ra bản vá iOS, macOS và Safar...

30/11/2023 08:00:00 22
Apple đã phát hành bản cập nhật phần mềm cho trình duyệt web iOS, iPadOS, macOS và Safari để giải qu...

Microsoft mặc định cài ứng dụng HP Smart...

30/11/2023 12:00:00 17
Cũng cần lưu ý rằng chương trình này dường như đến từ một nguồn hợp pháp, vì vậy sự hiện diện của nó...

Phần mềm độc hại Android FjordPhantom mớ...

29/11/2023 08:00:00 34
Các nhà nghiên cứu an ninh mạng đã tiết lộ một phần mềm độc hại Android tinh vi mới có tên FjordPhan...

Google Chrome đang bị tấn công tích cực,...

29/11/2023 08:00:00 20
Google đã tung ra các bản cập nhật bảo mật để khắc phục bảy vấn đề bảo mật trong trình duyệt Chrome ...

3 lưu ý trước khi xóa trình quản lý mật ...

29/11/2023 12:00:00 11
Nếu bạn muốn sử dụng một phương thức lưu trữ mật khẩu khác hoặc muốn giao diện của một ứng dụng khác...
Xem thêm

TAGS

LIÊN HỆ

Thông tin liên hệ