CVE-2026-33941 in Handlebarsthông tin

Tóm tắt

Bởi VulDB • 29/05/2026

Handlebars cung cấp sức mạnh cần thiết để cho phép người dùng xây dựng các mẫu ngữ nghĩa (semantic templates). Trong các phiên bản từ 4.0.0 đến 4.7.8, trình biên dịch trước (precompiler) của CLI Handlebars (`bin/handlebars` / `lib/precompiler.js`) nối trực tiếp các chuỗi do người dùng kiểm soát — bao gồm tên tệp mẫu và một số tùy chọn CLI — vào mã JavaScript mà nó tạo ra, mà không có bất kỳ quá trình thoát ký tự (escaping) hoặc làm sạch (sanitization) nào. Một kẻ tấn công có thể ảnh hưởng đến tên tệp mẫu hoặc các đối số CLI có thể chèn mã JavaScript tùy ý, mã này sẽ thực thi khi gói được tạo ra được tải trong Node.js hoặc trình duyệt. Phiên bản 4.7.9 đã khắc phục sự cố này. Một số giải pháp tạm thời (workarounds) có sẵn. Đầu tiên, hãy xác thực tất cả các đầu vào CLI trước khi gọi trình biên dịch trước. Từ chối các tên tệp và giá trị tùy chọn chứa các ký tự có ý nghĩa trong quá trình thoát ký tự của chuỗi JavaScript (`"`, `'`, `;`, v.v.). Thứ hai, sử dụng một chuỗi tên không gian (namespace) cố định, đáng tin cậy được truyền qua tệp cấu hình thay vì các đối số dòng lệnh trong các quy trình tự động hóa. Thứ ba, chạy trình biên dịch trước trong một môi trường sandboxed (container không có quyền ghi vào các đường dẫn nhạy cảm) để hạn chế tác động của việc khai thác thành công. Thứ tư, kiểm toán (audit) các tên tệp mẫu trong bất kỳ kho lưu trữ hoặc gói nào được sử dụng bởi một quy trình xây dựng tự động.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

chịu trách nhiệm

GitHub M

Đặt trước

24/03/2026

Tiết lộ

28/03/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00291

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you want to use VulDB in your project?

Use the official API to access entries easily!