symfony/cache
Symfony Cache provides fast, low-overhead PSR-6 caching with adapters for common backends. Includes PSR-16 bridge plus implementations of symfony/cache-contracts CacheInterface and TagAwareCacheInterface for flexible app caching.
AbstractAdapter::clear() prefix validation ensures only intended cache prefixes are cleared, mitigating risks in high-security contexts like payment processing or healthcare systems.clear() calls. The prefix validation is a defense-in-depth measure for shared Redis/Memcached instances.composer.lock) securely by restricting clear() to trusted prefixes (e.g., build:*).AbstractAdapter without rewriting cache logic.Adopt if:
AbstractAdapter::clear() (or extends it) and relies on shared cache backends (e.g., Redis, Memcached) where prefix-based isolation is critical.Look elsewhere if:
clear() or only employ PSR-6 pools (unaffected by this CVE). The risk is zero for apps using CacheInterface directly without AbstractAdapter.For Executives:
"The Symfony Cache v8.1.0-BETA3 release plugs a critical security hole (CVE-2026-45073) that could expose cached data in shared environments—a direct risk to [Product X]’s compliance and customer trust. This one-line fix prevents attackers from clearing arbitrary cache prefixes (e.g., user:*, session:*), which could lead to data leaks or service disruptions. With Symfony’s 4K+ community and enterprise-grade adoption, this is a low-cost, high-impact upgrade to harden our stack. Cost: Zero. Risk reduction: 100% for this vector."
For Engineering:
*"Action required: Upgrade to symfony/cache:^8.1.0-BETA3 to patch CVE-2026-45073, which affects AbstractAdapter::clear() prefix validation. Impact:
clear() calls can no longer target unintended prefixes (e.g., tenant1:* vs. tenant2:*).AbstractAdapter or use Cache::clear('prefix:*'), this blocks cache poisoning.
Migration: Replace ^8.0 with ^8.1.0-BETA3 in composer.json. Test: Verify cache->clear('safe:prefix') works; invalid prefixes (e.g., ../malicious) now throw exceptions. Timeline: Deploy by [date] to align with Q3 GA."*For Developers: *"Security alert: The BETA3 release fixes a cache-clearing vulnerability. If your code does any of these, upgrade now:
// UNSAFE (v8.0.x)
Cache::clear('user:*'); // Could clear 'user:../admin' if prefix not validated
// SAFE (v8.1.0-BETA3)
Cache::clear('user:*'); // Validates prefix; rejects malicious input
How it works: The fix adds prefix normalization to AbstractAdapter::clear(), rejecting paths with ../ or //. No breaking changes—just added validation.
Example: For Laravel’s Cache::tags(), this ensures Cache::forget('user:1') can’t accidentally clear Cache::forget('user:../admin'). Upgrade: composer require symfony/cache:^8.1.0-BETA3."*
How can I help you explore Laravel packages today?