
# CVE-2026-21440 개념 증명 익스플로잇 AdonisJS 멀티파트 업로드의 치명적인 경로 탐색(path traversal) 취약점으로, 임의 파일 쓰기 및 원격 코드 실행을 가능하게 하는 개념 증명 익스플로잇입니다.
| 필드 | 값 |
|---|
| CVE ID | CVE-2026-21440 |
| 심각도 | 🔴 치명적(Critical) |
| CVSS v4.0 | 9.2 |
| CWE | CWE-22 (경로 탐색) |
| 공격 벡터 | 네트워크 |
| 인증 필요 | ❌ 아니요 |
AdonisJS는 멀티파트 파일 업로드 중 사용자가 제공한 파일 이름을 부적절하게 신뢰합니다.
개발자가 다음과 같이 호출할 때:
MultipartFile.move()
엄격한 검증(sanitization) 없이, 공격자는 다음과 같은 파일 이름을 제출할 수 있습니다:
../../../../app/config/startup.js
이를 통해 의도된 업로드 디렉터리를 벗어나 서버의 임의 위치에 파일을 작성할 수 있습니다.
공격자는 잠재적으로 다음을 수행할 수 있습니다:
이로 인해 이 취약점은 공개 파일 업로드 엔드포인트에 특히 위험합니다.
@adonisjs/bodyparser ≤ 10.1.111.x 사전 릴리스 11.0.0-next.6 이전➡️ 가능한 한 빨리 패치된 버전으로 업그레이드하세요.
아직 업그레이드가 불가능한 경우:
../, 절대 경로, null 바이트 거부)MultipartFile.move()에서 안전한 옵션 사용의존성 설치
pip install requests
스크립트 저장
전체 Python 코드를 복사하여 cve_2026_21440_poc.py로 저장
업로드 엔드포인트 찾기
대상의 멀티파트 파일 업로드 URL(예: /upload, /api/files)을 식별합니다. 브라우저 또는 curl로 테스트하세요.
먼저 안전 테스트 실행
python3 cve_2026_21440_poc.py http://target:port/upload --safe --random
성공 확인
취약한 경우, 셸 시도(선택 사항)
python3 cve_2026_21440_poc.py http://target:port/upload --shell php --depth 5
셸 확인
업로드된 파일에 접근(예: http://target/shell.php?cmd=whoami)하여 명령 출력을 확인하세요.
승인된 대상에서만 사용하세요! --safe로 시작하세요.

╔══════════════════════════════════════════════════════════════╗
║ ⚠️ 면책 조항 ⚠️ ║
╚══════════════════════════════════════════════════════════════╝
이 CVE-2026-21440 PoC(Proof-of-Concept) 스크립트는 교육, 연구 및 승인된 보안 테스트 목적으로만 제공됩니다.
❌ 다음에 사용할 수 있습니다: • 본인이 소유한 시스템 • 명시적 서면 허가를 받은 시스템
❌ 다음에 사용할 수 없습니다: • 모든 시스템에 대한 무단 접근 • 모든 종류의 불법 활동 • 악의적인 목적
저자와 배포자는 다음에 대해 어떠한 책임도 지지 않습니다: • 이 도구의 오용 • 시스템에 발생한 손상 • 무단 사용으로 인한 법적 결과
허가 없이 시스템에 대해 이 스크립트를 사용하는 것은 대부분의 국가에서 법률 위반입니다(예: 미국의 CFAA, 영국의 Computer Misuse Act).
이 도구를 사용함으로써 다음에 동의합니다: • 행동에 대한 전적인 책임 • 모든 관련 법률 준수
윤리적으로 행동하세요. 책임감 있게 테스트하세요. 취약점을 공급업체에 보고하세요.
✦ 합법적으로 행성을 해킹하세요 ✦