CVE-2023-37473
Limited code execution in zenstruck/collections
zenstruck/collections is a set of helpers for iterating/paginating/filtering collections. Passing callable strings (ie system) caused the function to be executed. This would result in a limited subset of specific user input being executed as if it were code. This issue has been addressed in commit f4b1c48820 and included in release version 0.2.1. Users are advised to upgrade. Users unable to upgrade should ensure that user input is not passed to either EntityRepository::find() or query().
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.6
Limited code execution in zenstruck/collections
zenstruck/collections is a set of helpers for iterating/paginating/filtering collections. Passing callable strings (ie system) caused the function to be executed. This would result in a limited subset of specific user input being executed as if it were code. This issue has been addressed in commit f4b1c48820 and included in release version 0.2.1. Users are advised to upgrade. Users unable to upgrade should ensure that user input is not passed to either EntityRepository::find() or query().
- Record
CVE-2023-37473- CVSS 3.1
- 8.6 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-74
- Updated
- 2026-11-02
EUVDEUVD-2023-1996
8.6
zenstruck/collections is a set of helpers for iterating/paginating/filtering collections. Passing callable strings (ie system) caused the function to be executed. This would result in a limited subset of specific user input being executed as if it were code. This issue has been addressed in commit f4b1c48820 and included in release version 0.2.1. Users are advised to upgrade. Users unable to upgrade should ensure that user input is not passed to either EntityRepository::find() or query().
- Record
EUVD-2023-1996- CVSS 3.1
- 8.6 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-7xr2-8ff7-6fjq
8.5
zenstruck/collection passing callable string to EntityRepository::find() and query()
Impact
Passing callable strings (ie system) caused the function to be executed.
Patches
Fixed in v0.2.1.
Workarounds
Do not allow passing user strings to EntityRepository::find() or query().
References
- Record
GHSA-7xr2-8ff7-6fjq- CVSS 3.1
- 8.5 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-74
- Updated
- 2026-11-02
NVD
8.5
zenstruck/collections is a set of helpers for iterating/paginating/filtering collections. Passing callable strings (ie system) caused the function to be executed. This would result in a limited subset of specific user input being executed as if it were code. This issue has been addressed in commit f4b1c48820 and included in release version 0.2.1. Users are advised to upgrade. Users unable to upgrade should ensure that user input is not passed to either EntityRepository::find() or query().
- Record
CVE-2023-37473- CVSS 3.1
- 8.5 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H - CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-74
- Updated
- 2026-11-02
OSV
8.5
Limited code execution in zenstruck/collections
zenstruck/collections is a set of helpers for iterating/paginating/filtering collections. Passing callable strings (ie system) caused the function to be executed. This would result in a limited subset of specific user input being executed as if it were code. This issue has been addressed in commit f4b1c48820 and included in release version 0.2.1. Users are advised to upgrade. Users unable to upgrade should ensure that user input is not passed to either EntityRepository::find() or query().
- Record
CVE-2023-37473- CVSS 3.1
- 8.5 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-74
- Updated
- 2026-11-02
OSVGHSA-7xr2-8ff7-6fjq
8.5
zenstruck/collection passing callable string to EntityRepository::find() and query()
Impact
Passing callable strings (ie system) caused the function to be executed.
Patches
Fixed in v0.2.1.
Workarounds
Do not allow passing user strings to EntityRepository::find() or query().
References
- Record
GHSA-7xr2-8ff7-6fjq- CVSS 3.1
- 8.5 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-74
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
zenstruck/collectionPackagist |
before 0.2.1 | 0.2.1 |
zenstruck/collectionPackagist |
before 0.2.1, plus listed versions v0.1.0v0.2.0 |
0.2.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-37473 is a high vulnerability (CVSS 8.6) in Zenstruck Collection, published July 14, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.94%, the 61st percentile. Fixed in zenstruck/collection 0.2.1.
References
github.com/zenstruck/collection/security/advisories/GHSA-7xr2-8ff7-6fjq
github.com/zenstruck/collection/commit/f4b1c488206e1b1581b06fcd331686846f13f19c
github.com/zenstruck/collection/releases/tag/v0.2.1
nvd.nist.gov/vuln/detail/CVE-2023-37473
github.com/advisories/GHSA-7xr2-8ff7-6fjq
github.com/CVEProject/cvelistV5/tree/main/cves/2023/37xxx/CVE-2023-37473.json
github.com/zenstruck/collection