GitHub Advisoryadvisory · Packagist
GHSA-jg26-q8hg-3pq4 Sulu: JCR-SQL2 injection via `categories` query parameter (unauthenticated)
MEDIUM
Official page ↗
- Aliases
- CVE-2026-92692
- Ecosystem
- Packagist
- Packages
- sulu/sulu
- Severity
- Moderate
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N
- Weaknesses
- CWE-89
- Reviewed
- 2026-09-23
Affected packages
• Packagist sulu/sulu: < 2.6.25 → fixed in 2.6.25
• Packagist sulu/sulu: >= 3.0.0, < 3.0.8 → fixed in 3.0.8
Description
Impact
An unauthenticated JCR-SQL2 injection exists in the Smart Content category filter of the 2.x content query builder.
Category IDs supplied through the public `?categories=` query parameter are only trimmed and are then concatenated directly into a JCR-SQL2 `WHERE` clause, without the numeric validation that the equivalent tag filter already performs. Any public page that renders a Smart Content element with category filtering enabled evaluates this parameter, so no authentication or special configuration beyond a category-filtered content block is required.
An anonymous visitor can therefore:
• inject boolean conditions to infer the existence of, and disclose, content nodes they should not see (for example unpublished pages) via blind boolean-based extraction; and
• submit malformed query fragments that cause query errors or resource-intensive queries, degrading availability.
Because the sink is a JCR-SQL2 query, the impact is limited to reading and enumerating content-repository nodes and to error/denial-of-service conditions; it cannot be used to modify data through this path.
Patches
Fixed in 2.6.25 and 3.0.8. Category, tag, and audience-target-group IDs are now cast to integers before they are used in the JCR-SQL2 query, so no attacker-controlled characters can reach the query.
Workarounds
If you cannot upgrade immediately:
• Apply the fix manually — cast each ID to an integer where it is concatenated into the category (and, defensively, tag and audience-targeting) `WHERE` clause in the content Smart Content query builder.
• Alternatively, disable category filtering on publicly reachable Smart Content elements until the patch is applied.
Related
Alias · CVE (1)
- CVE-2026-92692 Sulu is an open-source PHP content management system based on the Symfony framework. vulnerability
Weakness · CWE (1)
- CWE-89 Improper Neutralization of Special Elements used in an SQL Command weakness