symfony/ux-autocomplete · Security
Prevent injection of invalid entity ids for "autocomplete" fields
- GHSA ID
- GHSA-4cpv-669c-r79x
- CVE ID
- CVE-2023-41336
- Severity
- medium
- Published
- Updated
- CVSS
- 6.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
- CVSS v3
- 6.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Description
Impact
Under certain circumstances, an attacker could successfully submit an entity id for an EntityType that is not part of the valid choices.
Affected applications are any that use:
- A custom
query_builderoption to limit the valid results; AND - An
EntityTypewith'autocomplete' => trueor a custom AsEntityAutocompleteField.
Under this circumstance, if an id is submitted, it is accepted even if the matching record would not be returned by the custom query built with query_builder.
Patches
The problem has been fixed in symfony/ux-autocomplete version 2.11.2.
Workarounds
Upgrade to version 2.11.2 or greater of symfony/ux-autocomplete or perform extra validation after submit to verify the selected option is valid.
CWEs
- CWE-20 · Improper Input Validation
References
- https://github.com/symfony/ux-autocomplete/security/advisories/GHSA-4cpv-669c-r79x ↗
- https://github.com/symfony/ux-autocomplete/commit/fabcb2eee14b9e84a45b276711853a560b5d770c ↗
- https://symfony.com/bundles/ux-autocomplete/current/index.html#usage-in-a-form-with-ajax ↗
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/ux-autocomplete/CVE-2023-41336.yaml ↗
- https://nvd.nist.gov/vuln/detail/CVE-2023-41336 ↗
- https://github.com/advisories/GHSA-4cpv-669c-r79x ↗