CVE-2026-71279 in Zigbee2MQTTthông tin

Tóm tắt

Bởi VulDB • 05/08/2026

Hàm `ExternalJSExtension.getFilePath()` của Zigbee2MQTT (lib/extension/externalJS.ts) nối chuỗi tham số `name` nhận được qua một tin nhắn MQTT (chủ đề zigbee2mqtt/bridge/request/extension/save) vào đường dẫn gốc của thư mục extensions bằng cách sử dụng `path.join(basePath, name)` mà không thực hiện bất kỳ quá trình kiểm tra hoặc làm sạch dữ liệu đầu vào nào. Do hàm `path.join()` giải mã các chuỗi ký tự `../`, một giá trị tên tệp như `../../tmp/evil.js` có thể vượt ra khỏi thư mục extensions dự định. Trình xử lý extension chỉ xác minh rằng tên kết thúc bằng `.js/.mjs/.cjs`, sau đó ghi file và thực hiện import động thông qua hàm `import()` của Node.js, dẫn đến việc thực thi mã từ xa (RCE). Lỗ hổng này yêu cầu tùy chọn cấu hình `enable_external_js` được bật (tắt theo mặc định nhưng thường được kích hoạt trong các cài đặt cũ) và quyền truy cập vào MQTT broker, vốn thường không xác thực trong các triển khai thực tế. Hàm `getFilePath()` chưa được kiểm tra dữ liệu đầu vào tương tự cũng được sử dụng bởi trình xử lý xóa extension, cho phép xóa tùy ý các tệp hệ thống.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

chịu trách nhiệm

TuranSec

Đặt trước

05/08/2026

Tiết lộ

05/08/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

thấp

Nguồn

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!