
UniFi OS CVE-2026-34910 인증 우회를 통한 명령 주입/RCE(원격 코드 실행)와 CVE-2026-34909 경로 탐색을 통한 임의 파일 읽기를 구현한 개념 증명(PoC) 익스플로잇입니다.
승인된 테스트를 위한 두 경로에 대한 개념 증명으로, 다음과 같이 식별됩니다:
CVE-2026-34910: 인증 우회(auth bypass)로, 패킷 업데이트 핸들러를 통한 명령 주입 및 원격 코드 실행으로 이어질 수 있습니다.CVE-2026-34909: 경로 탐색(path traversal)으로, app-assets 별칭을 통해 임의 파일 읽기로 이어질 수 있습니다.이 스크립트는 귀하가 소유하거나 명시적으로 테스트 권한을 부여받은 기기 및 네트워크에 대한 보안 검증을 위한 것입니다. 타인의 시스템에는 사용하지 마십시오.
1.0.0CVSS 값과 취약점 상태는 보고서에 사용하기 전에 공급업체 권고 및 관련 펌웨어 버전과 대조하여 검증해야 합니다.
이 스크립트는 대상에 명령을 보내고 대상의 파일 내용을 읽을 수 있습니다. 영향에는 시스템 변경, 민감한 정보 노출, 서비스 중단 또는 데이터 손상이 포함될 수 있습니다.
테스트를 실행하기 전에:
스크립트는 Python 표준 라이브러리만 사용하므로 추가 패키지 설치 단계가 필요 없습니다.
리포지토리를 클론하거나 스크립트를 테스트 머신에 복사한 다음 프로젝트 디렉터리로 이동합니다:
git clone <URL-REPOSITORI>
cd CVE-2026-34910
pip install은 필요하지 않습니다. 사용 중인 인터프리터가 적절한지 확인하십시오:
python3 --version
일반 형식:
python3 CVE-2026-34910.py <target> [command] [options]
target은 http:// 또는 https:// 스킴을 가진 URL이어야 합니다(예: https://192.0.2.10:11443).
추가 명령을 보내지 않고 프로브를 실행합니다:
python3 CVE-2026-34910.py https://192.0.2.10:11443 --check
두 번째 위치 인수는 대상으로 전송되는 명령으로 처리됩니다. 승인된 비파괴 명령만 사용하십시오:
python3 CVE-2026-34910.py https://192.0.2.10:11443 "id"
--proof 옵션은 대상이 /tmp/PWNED_34910에 proof 파일을 생성하도록 요청합니다:
python3 CVE-2026-34910.py https://192.0.2.10:11443 --proof
승인된 접근 절차를 통해 proof 파일을 확인하고 삭제하십시오. HTTP 200 응답만으로 명령이 성공했다는 단일 증거로 간주하지 마십시오.
python3 CVE-2026-34910.py https://192.0.2.10:11443 --read /etc/hostname
스크립트는 파일 응답에서 최대 800자를 출력합니다.
요청 및 응답 세부 정보를 보려면 --verbose 또는 -v를 추가하십시오:
python3 CVE-2026-34910.py https://192.0.2.10:11443 --check --verbose
verbose 출력에는 민감한 URL, 매개변수 또는 응답 데이터가 포함될 수 있습니다.
| 옵션 | 설명 |
|---|---|
target | HTTP 또는 HTTPS 스킴이 있는 대상 URL |
command | CVE-2026-34910 경로를 통해 테스트할 명령 |
--check | 인증 우회 프로브만 실행 |
--proof | 대상에 proof 파일 생성을 요청 |
--read PATH | 경로 탐색을 통한 파일 읽기 테스트 |
-v, --verbose | 추가 디버그 정보 표시 |
-h, --help | 사용법 도움말 표시 |
각 실행에서는 하나의 작동 모드만 사용하십시오. 프로그램은 작업이 성공한 것으로 간주되면 종료 코드 0을 반환하고, 대상이 취약한 것으로 나타나지 않거나 인수가 불완전하면 1을 반환하며, 예기치 않은 오류가 발생하면 2를 반환합니다. 사용자 중단은 130을 반환합니다.
--check 모드는 핸들러에 도달했음을 나타내는 마커가 응답에 있는지 확인합니다.pkg_name 값을 구성하여 패킷 업데이트 엔드포인트로 보냅니다.--read 모드는 app-assets 별칭으로 향하는 경로 탐색을 구성하고 응답을 제한적으로 표시합니다.구현은 전적으로 CVE-2026-34910.py에 있습니다.
200 상태는 요청이 핸들러에 수신되었음을 나타내며, 명령이 기대대로 완료되었음을 보장하지는 않습니다.테스트 범위에 있는 기기의 경우:
테스트 보고서에는 다음 사항을 기록해야 합니다:
책임 있는 취약점 공개를 위해 공급업체의 공식 보안 채널을 사용하고 적용 가능한 정책에 따라 공개를 조정하십시오.
이 프로젝트에는 아직 라이선스가 지정되지 않았습니다. 이 코드를 배포하거나 다른 프로젝트에서 사용하기 전에 라이선스 파일을 추가하십시오.
Gagaltotal666 - GhostGTR666
관련 리포지토리: github.com/gagaltotal