CVE-2026-71279 in Zigbee2MQTT정보

요약

\~에 의해 VulDB • 2026. 08. 05.

Zigbee2MQTT의 `ExternalJSExtension.getFilePath()` (lib/extension/externalJS.ts)는 MQTT 메시지(토픽: zigbee2mqtt/bridge/request/extension/save)를 통해 수신된 `name` 매개변수를 경로 위조 없이 `path.join(basePath, name)`로 확장 기본 경로에 결합합니다. `path.join()`이 `../` 시퀀스를 해석하기 때문에, `../../tmp/evil.js`와 같은 이름은 의도된 확장 디렉토리를 탈출할 수 있습니다. 확장 핸들러는 이름이 `.js`, `.mjs`, 또는 `.cjs`로 끝나는지 여부만 검증한 후 파일을 작성하고 Node.js의 `import()`를 통해 동적으로 가져오며, 이로 인해 원격 코드 실행(RCE)이 가능합니다. 이 취약점은 `enable_external_js` 구성 옵션(기본값은 비활성화되지만 레거시 설치에서는 일반적으로 활성화됨)과 MQTT 브로커 접근 권한이 필요하며, 실제 배포 환경에서 MQTT 브로커는 종종 인증 없이 접근 가능한 상태입니다. 동일한 검증되지 않은 `getFilePath()` 함수는 확장 제거 핸들러에서도 사용되어 임의 파일 삭제도 가능하게 합니다.

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

책임이 있는

TuranSec

예약하다

2026. 08. 05.

모더레이션

수락

항목

VDB-386217

EPSS

0.00000

활동

낮음

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!