CVE-2026-4800
lodash가 _.template imports 키 이름을 통해 Code Injection에 취약함
- 게시됨
- 2026. 3. 31.
- 업데이트됨
- 2026. 10. 15.
- CNA 할당 중
- openjs
- 증거 관찰됨
- 2026. 8. 25.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H낮음 · 다음 30일
- 백분위수
- 85.3%
- 모델 날짜
- 2026. 10. 23.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
CVE-2021-23337에 대한 수정은 _.template의 variable 옵션에 대한 검증을 추가했지만 options.imports 키 이름에는 동일한 검증을 적용하지 않았으며, 두 경로 모두 동일한 Function() 생성자 싱크로 흘러 들어갑니다. 애플리케이션이 신뢰할 수 없는 입력을 options.imports 키 이름으로 전달할 경우, 공격자는 템플릿 컴파일 시점에 임의 코드를 실행하는 기본 매개변수 표현식을 주입할 수 있습니다. 또한 _.template는 assignInWith를 사용하여 imports를 병합하는데, 이는 for..in을 통해 상속된 속성을 열거하므로, 다른 벡터에 의해 Object.prototype이 오염된 경우 오염된 키가 imports 객체에 복사되어 Function()에 전달됩니다. 이 문제는 lodash, lodash-es, lodash-amd, lodash.template의 4.18.1에서 수정되었습니다. 우회 방법으로, 신뢰할 수 없는 입력을 options.imports의 키 이름으로 전달하지 말고 개발자가 제어하는 정적 키 이름만 사용하십시오.
소스
개념 증명(PoC)으로, 프로토타입 오염을 통한 lodash 템플릿의 원격 코드 실행을 시연하며, 공격 흐름과 악용 기법에 대한 상세 분석을 포함합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.