CriticalGHSA-vjqc-q4mp-2rvfCVE-2026-79752

CakePHP: Multiple methods in FunctionsBuilder vulnerable to SQL injection

Published 17 Sept 2026 · Updated 24 Sept 2026

Affected packages

Affected
>=3.0.0 <4.5.12
Fixed in
4.5.12
Update to the fixed version for your release line, for example:composer require cakephp/database:^4.5.12
Affected
>=4.6.0 <4.6.5
Fixed in
4.6.5
Update to the fixed version for your release line, for example:composer require cakephp/database:^4.6.5
Affected
>=5.0.0 <5.1.9
Fixed in
5.1.9
Update to the fixed version for your release line, for example:composer require cakephp/database:^5.1.9
Affected
>=5.2.0 <5.2.14
Fixed in
5.2.14
Update to the fixed version for your release line, for example:composer require cakephp/database:^5.2.14
Affected
>=5.3.0 <5.3.7
Fixed in
5.3.7
Update to the fixed version for your release line, for example:composer require cakephp/database:^5.3.7
Affected
<4.5.12
Fixed in
4.5.12
Update to the fixed version for your release line, for example:composer require cakephp/cakephp:^4.5.12
Affected
>=4.6.0 <4.6.5
Fixed in
4.6.5
Update to the fixed version for your release line, for example:composer require cakephp/cakephp:^4.6.5
Affected
>=5.0.0 <5.1.9
Fixed in
5.1.9
Update to the fixed version for your release line, for example:composer require cakephp/cakephp:^5.1.9
Affected
>=5.2.0 <5.2.14
Fixed in
5.2.14
Update to the fixed version for your release line, for example:composer require cakephp/cakephp:^5.2.14
Affected
>=5.3.0 <5.3.7
Fixed in
5.3.7
Update to the fixed version for your release line, for example:composer require cakephp/cakephp:^5.3.7

Details

Impact

The FunctionsBuilder::cast($field, $dataType), extract($part, $expr), datePart($part, $expr), dateAdd($expr, $value, $unit) methods are vulnerable to SQL injection if user controlled data is supplied to the ($dataType / $part / $unit) parameters.

Patches

5.3.7, 5.2.14, 5.1.9, 4.6.5, 4.5.12 contain fixes

Workarounds

Don't provide user controlled data to these functions/parameters.

Is GHSA-vjqc-q4mp-2rvf in any of your client repos?

Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected cakephp/database, and gives you the command that fixes it.

References

Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.