CVE-2023-37473: zenstruck/collection passing callable string to EntityRepository::find() and query()
8.6
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.3369%
CWE
Published
7/14/2023
Updated
11/10/2023
KEV Status
No
Technology
PHP
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| zenstruck/collection | composer | < 0.2.1 | 0.2.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from accepting callable strings in find() and query() methods. The patch added && \is_object($specification) to the is_callable() checks, explicitly preventing string-based callables. The commit diff shows these methods were modified in EntityRepository.php, and tests were added to verify rejection of callable strings like 'system'. The CWE-74 classification confirms this is an injection vulnerability through improper input validation in these methods.