Cảnh báo: 6 lỗ hổng ‘Proto6’ trong protobuf.js đe dọa ứng dụng Node.js với nguy cơ RCE và DoS
Các nhà nghiên cứu bảo mật vừa phát hiện 6 lỗ hổng nghiêm trọng trong thư viện protobuf.js, cho phép kẻ tấn công thực thi mã từ xa (RCE) và tấn công từ chối dịch vụ (DoS) trên các ứng dụng...
Các chuyên gia bảo mật vừa công bố thông tin về sáu lỗ hổng bảo mật trong protobuf.js – một thư viện phổ biến dùng để triển khai Protocol Buffers (Protobuf) cho JavaScript và TypeScript. Nhóm lỗ hổng này, được đặt tên là Proto6, có khả năng dẫn đến các cuộc tấn công thực thi mã từ xa (RCE) và từ chối dịch vụ (DoS) trên các môi trường Node.js.
Table Of Content
Chi tiết về các lỗ hổng Proto6
Theo Assaf Morag, nhà nghiên cứu tại Cyera, các lỗ hổng này xuất phát từ việc thư viện mặc định tin tưởng vào các schema, descriptor hoặc payload đầu vào. Kẻ tấn công có thể lợi dụng điều này để gây treo hệ thống, làm hỏng bộ nhớ runtime hoặc thực thi mã độc hại. Các lỗ hổng cụ thể bao gồm:
- CVE-2026-44289 (CVSS 7.5): DoS thông qua đệ quy protobuf không giới hạn.
- CVE-2026-44290 (CVSS 7.5): DoS toàn bộ tiến trình khi tải schema với đường dẫn tùy chọn không an toàn.
- CVE-2026-44291 (CVSS 8.1): Tạo mã độc sau khi thực hiện prototype pollution.
- CVE-2026-44292 (CVSS 5.3): Tiêm nhiễm prototype (prototype injection) trong các constructor tin nhắn đã tạo.
- CVE-2026-44294 (CVSS 5.3): DoS từ các tên trường được tạo thủ công trong mã.
- CVE-2026-44295 (CVSS 8.7): Tiêm mã (code injection) trong đầu ra tĩnh của pbjs từ các tên schema được tạo thủ công.
Nguy cơ đối với hệ sinh thái Node.js
Lỗ hổng nghiêm trọng nhất, CVE-2026-44291, cho phép kẻ tấn công thực thi mã JavaScript tùy ý bên trong tiến trình Node.js. Điều này xảy ra khi ứng dụng chấp nhận đầu vào từ người dùng, dẫn đến tình trạng prototype pollution, sau đó protobuf.js sử dụng các giá trị này để biên dịch mã thông qua hàm Function().
Các ứng dụng sử dụng protobuf.js, bao gồm các thư viện client của Google Cloud, các framework nhắn tin như Baileys và các quy trình CI/CD, đều nằm trong diện bị ảnh hưởng. Trong một kịch bản tấn công, kẻ xấu có thể đưa các schema độc hại vào quy trình CI/CD để đánh cắp thông tin nhạy cảm hoặc làm sập các dịch vụ bot tự động.
Khuyến nghị khắc phục
Người dùng và các đội ngũ kỹ thuật cần nhanh chóng cập nhật lên các phiên bản đã vá lỗi để đảm bảo an toàn:
- protobuf.js: Cập nhật lên bản 7.5.6 hoặc 8.0.2.
- protobufjs-cli: Cập nhật lên bản 1.2.1 hoặc 2.0.2.
Việc xử lý các schema và metadata như những đầu vào đáng tin cậy là một rủi ro lớn trong các hệ thống hiện đại. Các chuyên gia khuyến cáo các đội ngũ bảo mật cần kiểm soát chặt chẽ hơn đối với dữ liệu cấu hình và schema trong các hệ thống AI, cơ sở dữ liệu và các pipeline tự động hóa.
Nguồn tham khảo: The Hacker News
No Comment! Be the first one.