CakePHP is a rapid development framework for PHP. Prior to versions 5.1.10, 5.2.15, and 5.3.7 on their respective release lines, FunctionsBuilder::jsonValue() with PostgresDriver is vulnerable to SQL injection when user-controlled data is supplied to the jsonPath parameter. This issue is fixed in versions 5.1.10, 5.2.15, and 5.3.7.
| CVE | [CVE-2026-77635]( · [CVE.org]( |
| CWE | [CWE-89]( |
| CVSS | **Critical: 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` |
| Product | [CakePHP]( |
| Affected | 5.2.x **through 5.2.13** (also 5.1.x JSONB_PATH_QUERY. CakePHP 5.2.13. Fixed 5.2.15.
- **Notes:** CVE-2026-77635 CWE-89. Witness POCWitness77635. Requires PostgreSQL.
- `PostgresDriver quoteIdentifier into JSONB_PATH_QUERY`
POCWitness77635 in HTTP body and sql= contains the injected fragment.
- empty json path result without injection
**Do this first:** Update **CakePHP** to **5.2.15** (or 5.1.10 / 5.3.7). Advisory: [GHSA-fxf7-vhh8-7vpq](
- Re-run `CVE-2026-77635-Abraxas-Labs.py` against the patched build: the mapped witness must **not** appear.
- Confirm the vendor advisory / changeset in the deployed tree (see references).
- Disable or isolate the affected component.
- Hunt for the witness condition on production (new privileged users, unexpected files, injected rows — whatever this CVE's map names).
Target **only** ` (or the loopback you bound). Do not point this script at the internet.
Success is the **witness** above in the response body. Generic 200 HTML is not it.
Loopback stack used to reproduce. Official images unless a `Dockerfile` in this folder builds from source.
- [`lab/docker-compose.yml`](lab/docker-compose.yml)
Bind the vulnerable product tree to Compose if the YAML mounts a local directory (plugin zip / source tag from the version table). Publish nothing except `127.0.0.1`.
- [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](
- input: `
CakePHP is a rapid development framework for PHP. Prior to versions 5.1.10, 5.2.15, and 5.3.7 on their respective release lines, FunctionsBuilder::jsonValue() with PostgresDriver is vulnerable to SQL injection when user-controlled data is supplied to the jsonPath parameter. This issue is fixed in versions 5.1.10, 5.2.15, and 5.3.7.
CakePHP is a rapid development framework for PHP. Prior to versions 5.1.10, 5.2.15, and 5.3.7 on their respective release lines, FunctionsBuilder::jsonValue() with PostgresDriver is vulnerable to SQL injection when user-controlled data is supplied to the jsonPath parameter. This issue is fixed in versions 5.1.10, 5.2.15, and 5.3.7.
- cakephp cakephp >= 5.1.0, = 5.2.0, = 5.3.0, = 5.1.0, = 5.2.0, = 5.3.0,
The full story
This article is one source in a clustered incident — the cluster page carries the summary, timeline and every other outlet covering it.
