GHSA-7g7c-qhf3-x59p: propel/propel1 SQL injection possible with limit() on MySQL
9.8
CVSS Score
3.1
Basic Information
CVE ID
-
GHSA ID
EPSS Score
-
CWE
Published
5/20/2024
Updated
5/20/2024
KEV Status
No
Technology
PHP
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| propel/propel1 | composer | >= 1, <= 1.7.1 | 1.7.2 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from two key functions: 1) Criteria::setLimit() lacked integer casting of input values, noted by the removed '32-bit issue' comment in the commit diff. 2) DBMySQL::applyLimit() directly concatenated user-controlled limit/offset values into SQL queries. The patch added explicit (int) casting in both locations, and test cases demonstrate how non-integer values (including SQL injection payloads) were previously passed through. These functions form the injection vector as they handle LIMIT clause construction without proper input validation.