WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
128
1.820 bài viết
Lỗ hổng làm tăng nguy cơ thực thi mã từ xa trên hàng triệu hệ thống Node.js
Một lỗ hổng nghiêm trọng vừa được phát hiện trong thư viện protobuf.js, có thể cho phép kẻ tấn công thực thi mã JavaScript từ xa trên các hệ thống sử dụng thư viện này. Với khoảng 50 triệu lượt tải mỗi tuần trên npm, protobuf.js hiện diện rộng rãi trong hệ sinh thái Node.js, đặc biệt ở các hệ thống API, nền tảng cloud và kiến trúc microservices.
1776680953636.png

Theo phân tích của các chuyên gia, nguyên nhân do cơ chế sinh mã động của thư viện. Cụ thể, protobuf.js xây dựng các hàm JavaScript bằng cách ghép chuỗi dựa trên dữ liệu “schema” (mô tả cấu trúc dữ liệu), sau đó thực thi các hàm này thông qua Function(). Vấn đề nằm ở chỗ các thành phần lấy từ schema, như tên kiểu dữ liệu hoặc message, không được kiểm tra đầy đủ. Điều này cho phép kẻ tấn công tạo schema độc hại, chèn mã vào quá trình sinh hàm và khiến mã đó được thực thi khi ứng dụng xử lý dữ liệu.

Về khả năng khai thác, dù đã có PoC và được đánh giá là tương đối dễ thực hiện, việc tấn công thành công vẫn phụ thuộc vào cách hệ thống triển khai. Rủi ro chủ yếu xuất hiện khi ứng dụng cho phép nạp hoặc xử lý schema từ nguồn không đáng tin cậy và sử dụng cơ chế sinh mã động. Nếu schema được kiểm soát chặt hoặc biên dịch sẵn, nguy cơ sẽ giảm đáng kể. Đây cũng là một dạng tấn công gián tiếp, trong đó mã độc không thực thi ngay lập tức mà thông qua bước trung gian, khiến việc phát hiện trở nên khó khăn hơn.

Nếu bị khai thác, lỗ hổng có thể cho phép thực thi mã trên máy chủ, truy cập biến môi trường, thông tin xác thực, cơ sở dữ liệu, thậm chí mở rộng sang các hệ thống nội bộ. Các phiên bản bị ảnh hưởng gồm protobuf.js từ 8.0.0 và 7.5.4 trở xuống.

Người dùng nên cập nhật ngay lên các phiên bản đã được vá (8.0.1 hoặc 7.5.5), đồng thời coi mọi schema là dữ liệu không tin cậy, kiểm tra chặt chẽ đầu vào và ưu tiên sử dụng schema tĩnh trong môi trường sản xuất.
Theo Bleeping Computer
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
an ninh microservices bảo mật node.js lỗ hổng npm lỗ hổng protobuf.js sinh mã động javascript tấn công schema độc hại thực thi mã từ xa
Bên trên