Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-77635 — Disclosure pack and Python PoC for CVE-2026-77635, an unauthenticated SQL injection in CakePHP's jsonValue() with PostgresDriver, including a loopback Docker lab. | Kitploit
ツール/GitHubGitHub/abraxas/cve-2026-77635
Vulnerability ScannersVulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingDatabase SecurityLabs & Practice
GitHubabraxas/cve-2026-77635

CVE-2026-77635

Disclosure pack and Python PoC for CVE-2026-77635, an unauthenticated SQL injection in CakePHP's jsonValue() with PostgresDriver, including a loopback Docker lab.

12710日前未レビュー
リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
要求された言語のコンテンツは利用できません。英語版を表示しています。

Abraxas Labs - CVE-2026-77635

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  CVE-2026-77635

CVE-2026-77635

CakePHP 5.2.13 - cakephp

I am @abraxas_null. Loopback lab. The client is CVE-2026-77635-Abraxas-Labs.py.

JSON_VALUE is not bound. FunctionsBuilder::jsonValue() with PostgresDriver rewrites to JSONB_PATH_QUERY and puts $jsonPath through quoteIdentifier. That is not a bound parameter. Lab GET /?path=. Needs PostgreSQL. Not WordPress. Sibling of CVE-2026-79752. Fixed in 5.2.15, 5.1.10, 5.3.7.

CVECVE-2026-77635 · CVE.org
CWECWE-89
CVSSCritical: 9.2 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
ProductCakePHP
Affected5.2.x through 5.2.13 (also 5.1.x < 5.1.10, 5.3.x < 5.3.7)
Patched5.2.15, 5.1.10, 5.3.7
Authnone
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 only

What an attacker can do

An application that takes the json path from the request lets the caller close the jsonpath and UNION secret. An application that hard-codes '$.x' is fine. This is CakePHP putting a caller-supplied path into SQL, not "Postgres jsonpath is unsafe."


How I found it

The GHSA named jsonValue on PostgresDriver. I read the transform, then built a lab that passes GET into it.

Default GET / is $.missing and []. Connection refused is Postgres not ready. Inject GET must put a fragment in sql= and return POCWitness77635.

Wrong turns: SQLite image (this transform is Postgres); witness string only in PHP source; no sql= fragment because the path never left the builder.


The lab

Port 8088. cakephp/database 5.2.13 plus PostgreSQL. notes.secret = POCWitness77635.

  • lab/Dockerfile
  • lab/docker-compose.yml
  • lab/lab-www/

Target only 127.0.0.1:8088 (or the loopback you bound).

cd lab
docker compose up --force-recreate
python3 ../CVE-2026-77635-Abraxas-Labs.py

Witness: POCWitness77635 in the JSON and the injected fragment in sql=. Empty $.missing rows are not it.

Ways to lose without learning anything:

  • empty json path result without injection
  • connection refused to postgres
  • reverse shell

The fix

Update CakePHP to 5.2.15 (or 5.1.10 / 5.3.7). Re-run CVE-2026-77635-Abraxas-Labs.py against the patched build: the injected fragment must not appear in sql=.


References

  • CVE-2026-77635 · NVD

  • CVE-2026-77635 · CVE.org

  • github.com/cakephp/cakephp/commit/138f2f61486532c29ee4d106da2a9848c1ff1ab3

  • github.com/cakephp/cakephp/commit/489a40fb7c6e597af33fe0f7264047afccb90d55

  • github.com/cakephp/cakephp/commit/9f1ad970a3b72293d4a37e694276645f804e819f

  • github.com/cakephp/cakephp/releases/tag/5.1.10

  • github.com/cakephp/cakephp/releases/tag/5.2.15

  • github.com/cakephp/cakephp/releases/tag/5.3.7

  • github.com/cakephp/cakephp/security/advisories/GHSA-fxf7-vhh8-7vpq

  • github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77635.json

  • nvd.nist.gov/vuln/detail/CVE-2026-77635

  • github.com/advisories/GHSA-fxf7-vhh8-7vpq

  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null


License

GNU Affero GPL v3.0. See LICENSE.


The client talks to loopback. Using it against systems you do not own is not authorized by Abraxas Labs. No warranty.

abraxaslabs.tech · github.com/abraxas · @abraxas_null

ツールをダウンロード