🔍 CVE-2026-53933

0.0
CVSS Score
UNKNOWN
2026-09-08
2026-09-10 19:58
✅ 완료

🇰🇷 한글 설명

의존성 주입 중심의 PHP 프레임워크인 Maravel 10.73.1 미만 버전에서 사이드 채널 정보 유출 취약점이 발견되었습니다. 동적 플레이스홀더가 정적 라우트 체크리스트에 잘못 등록되어, 공격자가 특정 패턴을 전송할 경우 404 에러 대신 500 에러를 유발하여 내부 라우트 파라미터와 컨트롤러 스키마를 파악할 수 있습니다.

💡 쉬운 설명

웹사이트의 주소 규칙을 몰래 알아낼 수 있는 보안 약점이 발견되었습니다. 공격자가 특수 문자를 입력했을 때 서버가 에러를 내뱉는 방식을 이용해, 내부적으로 어떤 이름의 데이터가 사용되는지 추측할 수 있습니다.

🇺🇸 원문 (English)

Maravel, a PHP framework oriented towards dependency injection, prior to version 10.73.1 has a side-channel information disclosure issue. When a route was compiled with dynamic placeholders (e.g., `/api/v1/users/{id}`), the raw string placeholder key was mistakenly registered into the flat static route checklist. An attacker scanning endpoints could intentionally pass the literal template syntax (e.g., `GET /api/v1/users/{id}`) to force an unexpected match against the static map. Because the dynamic tree engine was bypassed, no arguments were captured. This forced modern PHP 8+ versions to throw a native `ArgumentCountError`, resulting in a 500 Internal Server Error instead of a uniform 404 Not Found. By tracking which fuzz patterns exploded into a 500 error, a malicious actor could programmatically profile and map out internal route parameter names and controller schemas. Version 10.73.1 contains a patch. As a workaround, mitigate this side-channel leak by implementing a defensive check in a global middleware. This will reject any literal brace patterns before they reach the router engine.

📍 영향받는 시스템

Maravel PHP framework versions prior to 10.73.1

⚔️ 공격 벡터

라우팅 엔진을 우회하는 특수 문자(예: {id})를 포함한 HTTP 요청을 전송하여 500 Internal Server Error 유도

🛡️ 대응 방법

Maravel을 10.73.1 버전 이상으로 업데이트하거나, 미들웨어에서 중괄호 패턴을 차단하는 방어 로직 구현

🔧 검증 코드

출력된 버전 정보가 10.73.1 미만인지 확인하여 취약 여부를 판단합니다.

Shell / Script
composer show maravel/maravel | grep 'versions'

💻 영향받는 소프트웨어

PHP