predis/predis is vulnerable to Incomplete Cleanup
48
Medium Risk
On a Redis Cluster connection, an aborted transaction returns without sending DISCARD or UNWATCH, so the server side MULTI stays open on the reused node connection. A later GET on that connection returns a Predis\Response\Status object with payload QUEUED, which PHP treats as truthy even when the requested key does not exist, and a later SET on the same connection is queued instead of applied. Under persistent connections the dirty socket keeps serving queued responses to the next request handled by the same PHP-FPM worker, exposing stale values and false truthy reads to unrelated callers. After the fix, initialization, queueing, and EXEC errors cause UNWATCH or DISCARD to be sent and the transaction state to be reset before the node connection is reused.
You are affected if you are using a version that falls within the vulnerable range and you use a Redis Cluster connection with MULTI/EXEC transactions.
predis/predis is vulnerable to Incomplete Cleanup in versions 3.0.0 - 3.6.1.
Upgrade the predis/predis library to the patch version.
Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.
Free. No credit card required.

I consent to receiving marketing communications based on Aikido’s Privacy Policy.
SOC 2Compliant
ISO 27001Compliant
ISO 42001Compliant© All Intel data is openly available and commercially licensed.