Lỗ hổng Node js 2023 |
Đây là quá trình nghiên cứu của chuyên gia Darcy Clarke, cựu kỹ sư của GitHub và npm. Theo PoC được công bố: “Tệp kê khai của gói npm được xuất bản độc lập dưới dạng định dạng tarball. Tuy nhiên các tệp này lại không bao giờ được xác thực đầy đủ với nội dung của các tệp tarball này. Trong khi, với hệ sinh thái npm nội dung của các tệp kê khai và các tệp tarball được cho là đồng nhất”.
Vấn đề thực chất bắt nguồn từ tệp kê khai và siêu dữ liệu trong gói npm bị tách rời và chúng không bao giờ được tham chiếu chéo với nhau dẫn đến việc bị kẻ xấu lợi dụng.
Từ đó, chúng có thể khai thác lỗ hổng để xuất bản một module với một tệp kê khai (package.json) có chứa các thuộc tính bị ẩn cũng như chạy các tập lệnh cài đặt, tạo tiền đề cho một cuộc tấn công chuỗi cung ứng và đầu độc môi trường của nhà phát triển.
Vấn đề thực chất bắt nguồn từ tệp kê khai và siêu dữ liệu trong gói npm bị tách rời và chúng không bao giờ được tham chiếu chéo với nhau dẫn đến việc bị kẻ xấu lợi dụng.
Từ đó, chúng có thể khai thác lỗ hổng để xuất bản một module với một tệp kê khai (package.json) có chứa các thuộc tính bị ẩn cũng như chạy các tập lệnh cài đặt, tạo tiền đề cho một cuộc tấn công chuỗi cung ứng và đầu độc môi trường của nhà phát triển.
Theo Clarke, GitHub đã được thông báo vấn đề này vào đầu tháng 11/2022 nhưng đến nay lỗ hổng vẫn chưa được giải quyết.
Vì thiếu một bản vá lỗi chính thức nên nhà nghiên cứu an ninh Felix Pankratz đã đưa ra một đoạn script bằng Python có thể được dùng để kiểm tra việc không trùng khớp giữa các bản kê khai trong các module của npm.
Các nhà phát triển được khuyến cáo cần phải cẩn trọng với các thuộc tính mà họ sử dụng trong các dự án của mình và luôn cập nhật bản vá để tránh rủi ro bị tấn công.
Vì thiếu một bản vá lỗi chính thức nên nhà nghiên cứu an ninh Felix Pankratz đã đưa ra một đoạn script bằng Python có thể được dùng để kiểm tra việc không trùng khớp giữa các bản kê khai trong các module của npm.
Các nhà phát triển được khuyến cáo cần phải cẩn trọng với các thuộc tính mà họ sử dụng trong các dự án của mình và luôn cập nhật bản vá để tránh rủi ro bị tấn công.
Theo The Hacker News
Đăng nhận xét