Lỗ hổng CVE-2026-46633 trên Twig PHP cho phép kẻ tấn công chèn biểu thức PHP tùy ý vào tệp cache. Các quản trị viên cần cập nhật ngay lên phiên bản 3.26.0.
Tổng quan về lỗ hổng
Ngày 14/07/2026, thông tin về lỗ hổng bảo mật nghiêm trọng mang mã hiệu CVE-2026-46633 đã chính thức được công bố. Lỗ hổng này ảnh hưởng trực tiếp đến Twig – một trong những công cụ xử lý giao diện (template engine) phổ biến nhất dành cho ngôn ngữ lập trình PHP, được sử dụng rộng rãi trong nhiều framework lớn như Symfony, Drupal và WordPress.
Lỗ hổng được xếp hạng Nghiêm trọng (CRITICAL) do khả năng cho phép kẻ tấn công chèn mã PHP tùy ý vào tệp bộ nhớ đệm (cache) được biên dịch của ứng dụng.
- Mã CVE: CVE-2026-46633
- Mức độ nghiêm trọng: CRITICAL (Nghiêm trọng)
- Ngày phát hành: 14/07/2026
- Sản phẩm bị ảnh hưởng: Twig (trước phiên bản 3.26.0)
Phân tích kỹ thuật và Tác động
Theo các phân tích kỹ thuật, sự cố xuất phát từ hàm Compiler::string() trong bộ biên dịch của Twig. Trước phiên bản 3.26.0, hàm này không xử lý đúng cách việc thoát (escape) các dấu nháy đơn (') khi một tên template xuất phát từ thẻ {% use %} được đặt bên trong chuỗi ký tự nháy đơn của PHP.
Kẻ tấn công có thể lợi dụng sơ hở này bằng cách truyền vào một tên template được thiết kế đặc biệt chứa dấu nháy đơn. Tên template thao túng này sẽ đóng chuỗi ký tự PHP sớm hơn dự kiến và chèn thêm các biểu thức mã PHP bất hợp pháp vào tệp cache được lưu trên máy chủ. Khi tệp cache này được hệ thống thực thi, các đoạn mã chèn trái phép sẽ chạy dưới quyền của ứng dụng web, dẫn đến nguy cơ thực thi mã từ xa (Remote Code Execution - RCE).
Đối tượng bị ảnh hưởng
Lỗ hổng này ảnh hưởng đến tất cả các hệ thống và ứng dụng PHP đang sử dụng Twig phiên bản trước 3.26.0, đặc biệt là những ứng dụng:
- Cho phép người dùng hoặc bên thứ ba đóng góp/chỉnh sửa nội dung mẫu giao diện (template).
- Nhận giá trị đầu vào của tên template hoặc thẻ
{% use %}từ dữ liệu người dùng (user input) mà chưa được làm sạch kỹ lưỡng.
Khuyến nghị khắc phục
Để đảm bảo an toàn cho hệ thống và ngăn chặn nguy cơ bị khai thác, Bitech khuyến nghị các nhà phát triển và quản trị viên hệ thống thực hiện ngay các bước sau:
- Cập nhật phiên bản: Nâng cấp thư viện Twig lên phiên bản 3.26.0 hoặc mới hơn. Việc nâng cấp có thể thực hiện dễ dàng thông qua Composer bằng lệnh:
composer update twig/twig - Xóa bộ nhớ đệm (Clear Cache): Sau khi nâng cấp, hãy thực hiện xóa toàn bộ tệp cache template cũ của Twig đã được biên dịch trước đó để đảm bảo loại bỏ hoàn toàn bất kỳ mã độc nào có thể đã bị lưu lại.
- Rà soát đầu vào: Hạn chế việc cho phép người dùng trực tiếp định nghĩa hoặc truyền tham số vào các thẻ xử lý template như
{% use %}hoặc{% include %}.
Nguồn tham khảo
- Cơ sở dữ liệu lỗ hổng quốc gia (NVD): https://nvd.nist.gov/vuln/detail/CVE-2026-46633
- Cam kết khắc phục trên GitHub: https://github.com/twigphp/Twig/commit/679447fa29083043665482ccf7d64372472621b8
- Bản phát hành Twig v3.26.0: https://github.com/twigphp/Twig/releases/tag/v3.26.0
Ngày phát hành: 14/07/2026
Nguồn: NVD — CVE-2026-46633
Tham khảo: https://github.com/twigphp/Twig/commit/679447fa29083043665482ccf7d64372472621b8
Tham khảo: https://github.com/twigphp/Twig/commit/e9ff55f6910832428e48a35b2e0748189ad49ae3
Tham khảo: https://github.com/twigphp/Twig/releases/tag/v3.26.0