
Pardus Software ローカル権限昇格 PoC - 影響を受けるバージョン: <= 1.0.4
pardus-software パッケージ (Pardus Software Center) バージョン 1.0.4 における2つのローカル権限昇格問題に対する概念実証 (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 高 |
| CVE-2026-14460 | CWE-862 — 認可の欠如 | autoaptupdateaction PolicyKit アクションは allow_any=yes で出荷されており、任意のローカルユーザーが認証なしで更新ヘルパーを root として実行できます (ローカル DoS)。 | 8.8 高 |
影響を受けるバージョン: 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)
1つの poc.sh がサブコマンドによって両方の発見事項をカバーしています:
poc/ バージョンは無害です。id の出力を /tmp/pardus_lpe_proof に記録し、証明として setuid-root の /tmp/rootbash を配置するだけです。exploit/ バージョンは、許可されたターゲットでのデモンストレーション用に、「root シェルを落とす」武器化された相当物です。
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)、root 所有の /tmp/pardus_lpe_proof、および -rwsr-xr-x root root (setuid root) の /tmp/rootbash が表示されます。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 · 70210afKerem Kaan Daşmaz による研究および協調的な情報開示。
| サブコマンド | 実証する CVE | 備考 |
|---|
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 |