Skip to main content

CakePHP Queue CVE-2026-54713

| EUVDEUVD-2026-67241 LOW
Incomplete Comparison with Missing Factors (CWE-1023)
2026-08-27 https://github.com/cakephp/queue GHSA-r5pm-vrc5-3m73
3.7
CVSS 3.1 · Vendor: https://github.com/cakephp/queue
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify target job class, method, and parameter schema
  2. Delivery
    Craft user-supplied parameters with colliding key-value arrangement
  3. Exploit
    Submit crafted input via application endpoint
  4. Execution
    getUniqueId() produces hash matching legitimate pending job
  5. Persist
    Legitimate job silently dropped from queue
  6. Impact
    Background task fails to execute

Vulnerability Assessment

Weakness
CWE
Exploitation Conditions

Three specific conditions must all be met for exploitation: (1) the targeted job class must be configured with shouldBeUnique = true; (2) user-controlled input must be passed as job parameters at the dispatch call site - i.e., the application must forward attacker-influenced data into QueueManager::push(); and (3) the attacker must know or be able to enumerate the target job class name, method, and parameter key names to construct a colliding hash. Exploitation is not possible against jobs with fixed or application-internal-only parameters, against applications that sanitize or exclude user input from shouldBeUnique job parameters, or against job classes where shouldBeUnique is not enabled. The AC:H CVSS rating directly reflects these prerequisites.

Impact

The CVSS 3.1 vector AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L scoring 3.7 is assessed as accurate. AC:H is appropriate because successful exploitation requires the attacker to understand the target application's job class, method name, and parameter schema well enough to craft a colliding hash - this is application-specific knowledge, not a generic network attack. Impact is strictly Availability at Low severity: legitimate jobs are silently dropped, with no data exfiltration or code execution possible. No EPSS score was provided in the source data, so exploitation probability cannot be quantified from that signal. The vulnerability is not in CISA KEV and no public exploit code exists. The 'Information Disclosure' tag in the source intelligence appears to be a misclassification; the actual impact is job availability, not data exposure. Real-world risk is meaningful only for applications where users can influence parameters passed to shouldBeUnique jobs (e.g., public APIs that dispatch queue jobs on behalf of users).

Exploit ScenarioDerived

An attacker submitting data through a public application endpoint (e.g., a form that triggers a queued notification job) crafts parameter values with a different key ordering than expected, generating the same getUniqueId hash as a legitimate pending job for another user. When the application dispatches the crafted job, the queue plugin treats it as a duplicate and drops the legitimate job - for example, silently cancelling a password reset email or order confirmation task for the targeted user.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 27, 2026

Job deduplication in the cakephp/queue plugin can be bypassed by attackers who control job parameter data, causing legitimate unique jobs to be silently dropped. The flaw affects all applications using shouldBeUnique = true on job classes where user-supplied input is passed as job parameters - versions 0.1.10 through 2.3.0. No public exploit identified at time of analysis, and the CVSS score of 3.7 (AV:N/AC:H) reflects that exploitation requires knowledge of the target application's job parameter schema.

RemediationAI

Upgrade cakephp/queue to version 2.3.1 or later by running composer require cakephp/queue:^2.3.1. Version 2.3.1 replaces the flawed sort($data) call with a recursive key-based sort that preserves key identity in the hash input, eliminating the collision vector. If an immediate upgrade is not feasible, the vendor-recommended workaround is to disable shouldBeUnique on all affected job classes and implement idempotency logic within application code instead - this avoids the library's broken deduplication but requires developers to replicate deduplication manually, which may be complex and error-prone depending on the application. As an additional compensating control, applications can audit job dispatch call sites to ensure user-controlled data is sanitized or excluded from parameters passed to shouldBeUnique jobs. Patch and advisory details are at https://github.com/cakephp/queue/pull/188 and https://github.com/cakephp/queue/security/advisories/GHSA-r5pm-vrc5-3m73.

Affected VersionsENISA

queue 0.1.11, < 2.3.1

Affected Packages

composer cakephp/queue fix: 2.3.1
euvd queue_0_1_11 fix: 2.3.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CakePHP Queue (pkg:composer/cakephp_queue) is a background job processing plugin for CakePHP PHP applications. The vulnerability exists in QueueManager::getUniqueId() in src/QueueManager.php. The original implementation called PHP's sort($data) before hashing job identity, which sorts array values lexicographically and reindexes the array - entirely discarding key names. Two arrays with identical values but different keys (e.g., ['foo' => 'admin', 'bar' => 'guest'] and ['user_id' => 'admin', 'role' => 'guest']) produce the same value-sorted representation and thus an identical unique ID hash, constituting CWE-1023 (Incomplete Comparison). The patch in PR #188 replaces sort() with a recursive ksort() helper (sortUniqueValues) that normalizes arrays by key rather than value, preserving key-value associations at all nesting levels and eliminating the collision surface.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/cakephp/queue) PRIMARY 3.7 LOW
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI 3.7 LOW

Network-reachable via application endpoints, but AC:H due to required knowledge of job schema; impact is availability-only from job-dropping with no confidentiality or integrity consequence.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (https://github.com/cakephp/queue).

CVSS VectorVendor: https://github.com/cakephp/queue

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

DescriptionCVE.org

Impact

For jobs with shouldBeUnique = true the queue plugin will generate a 'unique identifier' based on the job class, method and parameters. If user data is supplied, a malicious user could create collisions, resulting in legitimate jobs being dropped.

Patches

Upgrade to 2.3.1

Workarounds

You can disable shouldBeUnique and handle idempotency in application code.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Low
niche CakePHP ecosystem plugin, limited enterprise footprint
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +18
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy