Tin tức và phân tích của tất cả các thiết bị di động

5 Lỗ hổng Python lâu năm trong mô-đun tarfile ảnh hưởng đến hơn 350.000 dự án

  • Theo Trellix, một lỗ hổng Python được phát hiện trong mô-đun tarfile đã ảnh hưởng đến hàng trăm nghìn dự án nguồn mở, gây ra mối lo ngại về an ninh chuỗi cung ứng.
  • CVE-2007-4559, lỗ hổng Python, được phát hiện vào năm 2007 và vẫn còn tồn tại trong mô-đun tarfile.
  • Trung tâm nghiên cứu nâng cao Trellix đã phát hiện ra lỗ hổng tấn công truyền tải tuyến đường trong khi điều tra một lỗ hổng khác.
  • Lỗ hổng CVE-2007-4559 ảnh hưởng đến khoảng 350.000 dự án nguồn mở và một số dự án nguồn đóng chưa xác định, làm dấy lên lo ngại về các cuộc tấn công chuỗi cung ứng phần mềm.

Dựa theo Trellix, một lỗ hổng Python trong mô-đun tarfile được tìm thấy hơn 15 năm trước vẫn ảnh hưởng đến hàng trăm nghìn dự án nguồn mở ngày nay, làm gia tăng các vấn đề bảo mật chuỗi cung ứng. Lỗ hổng CVE-2007-4559 được xác định vào năm 2007 và vẫn còn tồn tại trong mô-đun.

Những ảnh hưởng có thể có của lỗ hổng Python CVE-2007-4559

Trong quá trình nghiên cứu về một lỗ hổng khác, Trung tâm nghiên cứu nâng cao Trellix đã phát hiện ra lỗ hổng tấn công truyền tải tuyến đường. CVE-2007-4559 có tác động đến khoảng 350.000 dự án nguồn mở và một số dự án nguồn đóng chưa xác định, gây lo ngại về các cuộc tấn công chuỗi cung ứng phần mềm. Dựa theo Tập đoàn NCCcác cuộc tấn công nhằm vào các doanh nghiệp chuỗi cung ứng toàn cầu đã tăng 51% trong khoảng thời gian từ tháng 7 đến tháng 12 năm 2021.

Christiaan Beek, Trưởng bộ phận Nghiên cứu đối thủ và lỗ hổng bảo mật của Trellix cho biết: “Khi nói về các mối đe dọa trong chuỗi cung ứng, chúng tôi thường đề cập đến các cuộc tấn công mạng như sự cố SolarWinds, tuy nhiên, việc xây dựng dựa trên nền tảng mã yếu có thể có tác động nghiêm trọng không kém”.

Lỗ hổng CVE-2007-4559 Python ảnh hưởng đến khoảng 350.000 dự án nguồn mở và một số dự án nguồn đóng chưa xác định

Ngoài học máy, ứng dụng tự động hóa và bộ chứa docker, AWS, Google, Intel, Facebookvà Netflix sử dụng mô-đun tarfile nhạy cảm của Python cho các khung chuyên dụng. Trừ khi có quy định khác, mô-đun tarfile là thiết lập mặc định trong bất kỳ dự án dựa trên Python nào.

“Mức độ phổ biến của lỗ hổng này càng được tăng cường bởi các hướng dẫn trong ngành và các tài liệu trực tuyến tuyên truyền việc sử dụng nó không đúng cách. Điều quan trọng đối với các nhà phát triển là phải được đào tạo về tất cả các lớp của ngăn xếp công nghệ để ngăn chặn việc tái xuất hiện các bề mặt tấn công trong quá khứ một cách thích hợp.”

Lỗ hổng CVE-2007-4559 Python là gì?

CVE-2007-4559 cho phép thực thi mã tùy ý. Mặc dù điểm CVSS của CVE-2007-4559 là 5.1 chỉ ra rằng đây là một lỗ hổng có mức độ nghiêm trọng trung bình, Trellix tuyên bố rằng cuộc tấn công của nó khá đơn giản và có thể bị khai thác chỉ với sáu dòng mã.

Mô-đun tarfile của Python cho phép các nhà phát triển đọc và ghi các kho lưu trữ tar, một công cụ dựa trên UNIX để đóng gói các tệp không nén hoặc nén (sử dụng gzip, bzip2, v.v.) lại với nhau để sao lưu hoặc phân phối.

Do một số dòng mã “chưa được dọn dẹp” trong tarfile nên lỗ hổng truyền tải đường dẫn năm 2007 vẫn tồn tại. Các quy trình tarfile.extract() và tarfile.extractall() được viết mà không có bất kỳ biện pháp bảo vệ nào để vệ sinh hoặc kiểm tra đường dẫn được gửi tới chúng để trích xuất tệp từ kho lưu trữ tar.


Microsoft tiết lộ lỗ hổng TikTok được coi là “mức độ nghiêm trọng cao”


Vì vậy, khi người dùng chuyển một đối tượng TarInfo trong khi gọi các hàm trích xuất này, điều này sẽ gây ra hiện tượng truyền tải thư mục. Nói cách khác, nó trích xuất các tệp từ một nguồn được chỉ định cho nó mà không thực hiện kiểm tra an toàn thích hợp.

“Lỗ hổng này cực kỳ dễ khai thác, đòi hỏi ít hoặc không có kiến ​​thức về các chủ đề bảo mật phức tạp. Do thực tế này và mức độ phổ biến của lỗ hổng bảo mật, mô-đun tarfile của Python đã trở thành một vấn đề lớn về chuỗi cung ứng, đe dọa cơ sở hạ tầng trên toàn thế giới.” Kasimir Schulz nóinhà nghiên cứu lỗ hổng Trellix Threat Labs.

Charles Mcfarland, nhà nghiên cứu lỗ hổng trong nhóm Nghiên cứu mối đe dọa nâng cao của Trellix ghi nhận“Lỗ hổng này không chỉ được biết đến trong hơn một thập kỷ, mà các tài liệu Python chính thức còn cảnh báo rõ ràng rằng ‘Không bao giờ trích xuất các kho lưu trữ từ các nguồn không đáng tin cậy mà không kiểm tra trước’ do vấn đề truyền tải thư mục.”

Cảnh báo chính thức về lỗ hổng Python này, Nguồn: Trellix

Các dự án dễ bị tổn thương trên GitHub

Có 588.840 dự án/kho lưu trữ riêng biệt trên GitHub có ‘import tarfile’ trong mã python của chúng. Tuy nhiên, 61% trong số các kho lưu trữ này không hoàn thành việc làm sạch thành viên tarfile trước khi được xử lý, nâng tổng số kho lưu trữ dễ bị tấn công lên 350.000.

Trellix lưu ý thêm rằng vì các công nghệ máy học như GitHub CoPilot được đào tạo về các dự án GitHub không bảo mật nên chúng “đang học cách thực hiện mọi việc một cách không an toàn. Không phải do lỗi của công cụ mà do thực tế là nó đã học được từ những người khác.”

GitHub CoPilot tự động hoàn thành mã dễ bị tấn công, Nguồn: Trellix

Nghiên cứu của Trellix về các miền dự án bị ảnh hưởng bởi lỗ hổng CVE-2007-4559 Python cho thấy như sau:

Tỷ lệ các ngành bị ảnh hưởng bởi lỗ hổng Python, Nguồn: Trellix

Cần nhấn mạnh rằng nghiên cứu về lỗ hổng của Trellix chỉ giới hạn trong GitHub. Do đó, lỗ hổng 15 năm tuổi này cũng có khả năng gây hại cho các dự án khác. Hàng trăm nhà cung cấp có thể đóng góp ứng dụng, mã độc lập, phần mềm, thư viện và các phần phụ thuộc khác trong chuỗi cung ứng phần mềm.

Khi các phần phụ thuộc dễ bị tấn công, chẳng hạn như mô-đun tarfile, được tích hợp với các nhà cung cấp bên thứ ba, nhà cung cấp dịch vụ, nhà thầu, người bán lại, v.v., bề mặt tấn công của mọi người trong chuỗi sẽ được mở rộng trong khi cơ cấu bảo mật của ngay cả những người có vệ sinh an ninh phù hợp thực tiễn bị suy yếu.

Douglas McKee, kỹ sư chính và giám đốc nghiên cứu lỗ hổng của Trellix Threat Labs, hỏi “Mặc dù chúng tôi không thể cung cấp phân tích chi tiết [of closed-source projects] như chúng ta có thể làm với các dự án nguồn mở, thật công bằng khi mong đợi xu hướng này sẽ tương tự. Điều gì sẽ xảy ra nếu 61% tất cả các dự án – nguồn mở và nguồn đóng – có thể bị khai thác do lỗ hổng này?


Các vấn đề an ninh mạng bị cáo buộc của Twitter đang khiến doanh nghiệp đau đầu


Đồng thời bổ sung thêm: “Để thực hiện phần việc của mình, Trellix đang phát hành một tập lệnh có thể được sử dụng để quét một hoặc nhiều kho lưu trữ mã để tìm kiếm sự hiện diện và khả năng khai thác CVE-2007-4559. Ngoài ra, chúng tôi đang nỗ lực tự động hóa việc gửi yêu cầu kéo tới các dự án nguồn mở có thể được xác nhận là có thể khai thác được.”

Khi các lỗ hổng như lỗ hổng Python CVE-2007-4559 được tích hợp với các tổ chức bên thứ ba, tính bảo mật của tất cả đều bị suy yếu

Trellix hỗ trợ tự động hóa kho lưu trữ số lượng lớn, sao chép, phân tích mã, vá lỗi, cam kết và kéo yêu cầu. Các bản vá của công ty cho 11.005 kho lưu trữ đã sẵn sàng cho các yêu cầu kéo. Trellix đang nghiên cứu các bản sửa lỗi cho các dự án tiếp theo.

“Số lượng kho lưu trữ dễ bị tấn công mà chúng tôi tìm thấy đặt ra câu hỏi, những lỗ hổng N-day nào khác đang ẩn nấp trong OSS, không bị phát hiện hoặc bị bỏ qua trong nhiều năm? Nếu lỗ hổng tarfile này là bất kỳ dấu hiệu nào thì chúng tôi đang bị tụt lại phía sau một cách đáng tiếc và cần phải tăng cường nỗ lực để đảm bảo OSS [open source software] được an toàn,” McFarland nói thêm.

tham khảo Tài liệu GitHub của Trellix để xem dự án/kho lưu trữ của bạn có dễ bị tổn thương CVE-2007-4559 Python hay không.

Mục lục