CVE-2026-92692: 
PHP 취약성 분석 및 완화

개요

CVE-2026-92692 is a JCR-SQL2 injection vulnerability in the Sulu open-source PHP content management system (based on Symfony) that allows unauthenticated attackers to enumerate content-repository nodes or degrade availability. The flaw exists in the Smart Content QueryBuilder (src/Sulu/Component/Content/SmartContent/QueryBuilder.php), which concatenates category identifiers from the public ?categories= query parameter directly into a JCR-SQL2 WHERE clause without numeric validation. Affected versions are Sulu < 2.6.25 and Sulu >= 3.0.0, < 3.0.8. It carries a CVSS v4.0 base score of 6.9 (Medium) (Github Advisory, Sulu Advisory).

기술적 세부 사항

The root cause is CWE-89 (Improper Neutralization of Special Elements used in an SQL Command), applied here to JCR-SQL2, the query language used by Sulu's Java Content Repository layer. In QueryBuilder.php, the buildCategoriesWhere() method iterates over attacker-supplied category IDs and concatenates them directly into the WHERE clause (e.g., page.[excerpt-categories] = <unsanitized_input>), whereas the equivalent tag filter already performed integer casting. Because the vulnerable parameter (?categories=) is evaluated on any public page rendering a category-filtered Smart Content block, no authentication is required. The fix, applied in commit d19c014, casts each category, tag, and audience-target-group ID to (int) before concatenation, ensuring no attacker-controlled characters can reach the query (Sulu Advisory, Patch Commit).

영향

Successful exploitation allows an unauthenticated attacker to perform blind boolean-based extraction to infer the existence of and disclose content-repository nodes that should not be publicly visible, including unpublished pages. Attackers can also submit malformed or resource-intensive query fragments that cause query errors or degrade service availability. Critically, the JCR-SQL2 sink is read-only through this path, so data modification or remote code execution is not possible (Github Advisory, Sulu Advisory).

악용 가능성

No public proof-of-concept exploit code or in-the-wild exploitation has been reported as of the advisory publication date. The EPSS score is 0.0, and the NVD SSVC assessment indicates exploitation is "none" and the vulnerability is not automatable (Github Advisory). The CVE status is listed as "Deferred" and it is not present in the CISA Known Exploited Vulnerabilities catalog. Despite the low exploitation evidence, the attack requires no authentication and targets any publicly accessible page with a category-filtered Smart Content block, lowering the barrier for opportunistic exploitation.

착취 단계

  1. Reconnaissance: Identify public-facing Sulu CMS instances running versions < 2.6.25 or >= 3.0.0, < 3.0.8. Look for pages that render Smart Content blocks with category filtering enabled (these are common on listing or news pages).
  2. Identify vulnerable endpoint: Browse the target site to find a page that accepts the ?categories= query parameter and returns filtered content results, confirming the Smart Content block is active.
  3. Probe for injection: Append a crafted payload to the categories parameter, e.g., ?categories[]=1 (baseline), then test ?categories[]=1) OR 1=1 -- to observe if the response changes, indicating the injection point is active.
  4. Blind boolean-based enumeration: Craft boolean conditions to infer the existence of unpublished or restricted content nodes, e.g., ?categories[]=1) OR (SELECT 1 FROM [nt:base] WHERE [jcr:uuid]='<target-uuid>')=1 --, and compare true/false responses to enumerate node properties.
  5. Availability degradation (optional): Submit malformed or computationally expensive query fragments via the categories parameter to trigger query errors or resource exhaustion, degrading site availability (Sulu Advisory, Patch Commit).

타협의 징후

  • Network: Unusual HTTP GET requests to public Sulu pages containing ?categories[]= parameters with non-numeric values, boolean operators (e.g., OR, AND, --), or JCR-SQL2 syntax fragments.
  • Logs: Web server access logs showing repeated requests to Smart Content-enabled pages with malformed or complex categories query parameters; elevated frequency of requests from a single IP to the same page with varying categories values (indicative of blind enumeration).
  • Application Logs: PHP or Symfony application logs recording JCR-SQL2 query errors or exceptions originating from QueryBuilder.php, particularly from the buildCategoriesWhere() method.
  • Performance: Sudden spikes in query execution time or server CPU/memory usage correlated with requests containing complex categories payloads, suggesting resource-intensive query injection attempts.

완화 및 해결 방법

Upgrade to Sulu 2.6.25 or 3.0.8, which cast category, tag, and audience-target-group IDs to integers before use in JCR-SQL2 queries, fully eliminating the injection vector (Sulu 2.6.25 Release, Sulu 3.0.8 Release). If an immediate upgrade is not possible, apply the fix manually by casting each ID to (int) in the buildCategoriesWhere(), buildTagsWhere(), and buildAudienceTargeting() methods in src/Sulu/Component/Content/SmartContent/QueryBuilder.php. As an additional interim measure, disable category filtering on all publicly reachable Smart Content elements until the patch is applied (Sulu Advisory).

추가 자료

리눅스 배포판 수정 현황

주요 리눅스 배포판과 그 릴리스 전반에 걸친 가용성을 수정하세요.

Ubuntu

알 수 없음

bionic (esm-apps)

symfony

알 수 없음

devel

symfony

알 수 없음

focal (esm-apps)

symfony

알 수 없음

jammy

symfony

알 수 없음

jammy (esm-apps)

symfony

알 수 없음

noble

symfony

알 수 없음

noble (esm-apps)

symfony

알 수 없음

resolute

symfony

알 수 없음

근원: 이 보고서는 AI를 사용하여 생성되었습니다.

관련 PHP 취약점:

CVE ID

심각도

점수

기술

구성 요소 이름

CISA KEV 익스플로잇

수정 사항이 있습니다.

게시된 날짜

CVE-2026-63498HIGH8.7
  • PHP logoPHP
  • snipe/snipe-it
아니요예Sep 24, 2026
CVE-2026-63493HIGH8.6
  • PHP logoPHP
  • snipe/snipe-it
아니요예Sep 24, 2026
CVE-2026-62368HIGH8.1
  • PHP logoPHP
  • snipe/snipe-it
아니요예Sep 24, 2026
CVE-2026-61816HIGH7.5
  • PHP logoPHP
  • zbateson/mail-mime-parser
아니요예Sep 24, 2026
CVE-2026-61815HIGH7.2
  • PHP logoPHP
  • zbateson/mail-mime-parser
아니요예Sep 24, 2026

무료 취약성 평가

클라우드 보안 태세를 벤치마킹합니다

9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.

평가 요청

추가 Wiz 리소스

맞춤형 데모 받기

맞춤형 데모 신청하기

"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
데이비드 에슬릭최고정보책임자(CISO)
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
아담 플레처최고 보안 책임자(CSO)
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."
그렉 포니아토프스키위협 및 취약성 관리 책임자