update dependency symfony/cache to ~7.4.0 [SECURITY]#4598
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
Contributor
Author
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
~7.3.9→~7.4.0Symfony Vulnerable to SQL Injection in PdoAdapter::doClear() via Unsanitized $prefix
CVE-2026-45073 / GHSA-6qh9-h6wf-jgqc
More information
Details
Description
Symfony\Component\Cache\Adapter\PdoAdapteris the PDO-backed cache adapter. Itsclear($prefix)method (inherited fromAbstractAdapterTrait) is documented to delete cache items whose key starts with$prefix.In the non-versioning code path, the caller-supplied
$prefixis concatenated into$namespace = $this->namespace.$prefixand passed toPdoAdapter::doClear(), which builds:The value is interpolated directly into the SQL text and executed with
PDO::exec():$namespaceis not bound. A caller able to influence$prefixcan break out of the literal and inject SQL, expanding deletion scope from the intended prefix to arbitrary rows, or otherwise reshape query semantics.Most applications don't expose
clear($prefix)to untrusted input directly, but the contract of the method is to safely accept any prefix string, so the lack of escaping is a defect of the adapter itself.Resolution
AbstractAdapterTrait::clear()now rejects any$prefixcontaining characters outside[-+.A-Za-z0-9]: when an invalid prefix is supplied, the method logs a warning and returnsfalseinstead of reaching the SQL layer. This blocks quotes,%, null bytes and other characters that would let an attacker break out of theLIKEliteral.The patch for this issue is available here for branch 5.4.
Credits
Symfony would like to thank secsys_codex for reporting the issue and Nicolas Grekas for fixing it.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N/E:UReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
symfony/cache (symfony/cache)
v7.4.12Compare Source
Changelog (symfony/cache@v7.4.10...v7.4.12)
v7.4.10Compare Source
Changelog (symfony/cache@v7.4.9...v7.4.10)
v7.4.9Compare Source
Changelog (symfony/cache@v7.4.8...v7.4.9)
v7.4.8Compare Source
Changelog (symfony/cache@v7.4.7...v7.4.8)
Psr16Cache::getMultiple()returningValueWrapperwithTagAwareAdapter(@pcescon)v7.4.7Compare Source
Changelog (symfony/cache@v7.4.6...v7.4.7)
v7.4.6Compare Source
Changelog (symfony/cache@v7.4.5...v7.4.6)
DoctrineDbalAdapter::doSave()in savepoint to prevent transaction poisoning (@lacatoire)v7.4.5Compare Source
Changelog (symfony/cache@v7.4.4...v7.4.5)
v7.4.4Compare Source
Changelog (symfony/cache@v7.4.3...v7.4.4)
v7.4.3Compare Source
Changelog (symfony/cache@v7.4.2...v7.4.3)
ChainAdapter(@nicolas-grekas)v7.4.1Compare Source
Changelog (symfony/cache@v7.4.0...v7.4.1)
v7.4.0Compare Source
Configuration
📅 Schedule: (in timezone Europe/Rome)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.