🇰🇷 한글 설명
Symfony PHP 프레임워크의 JsonPath 컴포넌트에서 발생하는 취약점으로, 공격자가 제어하는 match() 및 search() 필터 패턴이 제한 없이 preg_match()로 컴파일됩니다. 이로 인해 카테고리컬 백트래킹(catastrophic backtracking)이 발생하여 CPU 점유율을 급증시키고 서비스 거부(DoS) 상태를 유발할 수 있습니다.
💡 쉬운 설명
특정한 규칙을 가진 데이터를 찾을 때 사용하는 기능에 결함이 있어, 공격자가 복잡한 규칙을 보내면 서버가 계산을 하느라 멈춰버릴 수 있습니다. 이로 인해 웹사이트 접속이 불가능해지는 서비스 중단 현상이 발생할 수 있습니다.
🇺🇸 원문 (English)
Symfony is a PHP framework for web and console applications and a set of reusable PHP components. From 7.3.0-BETA1 until 7.4.12 and 8.0.12, the JsonPath component compiles attacker-controlled match() and search() filter patterns directly into preg_match() without a length cap, i-regexp restriction, or bounded backtracking, allowing catastrophic-backtracking expressions to pin worker CPU and cause denial of service. This issue is fixed in versions 7.4.12 and 8.0.12.
📍 영향받는 시스템
Symfony JsonPath component (7.3.0-BETA1 ~ 7.4.12 및 8.0.12 미만 버전)
⚔️ 공격 벡터
공격자가 조작된 match() 또는 search() 필터 패턴을 포함한 요청을 전송하여 서버의 CPU 자원을 고갈시킴
🛡️ 대응 방법
Symfony 프레임워크를 최신 보안 패치가 적용된 버전(7.4.12 또는 8.0.12 이상)으로 업데이트
🔧 검증 코드
출력된 버전 정보가 취약한 범위(7.3.0-BETA1 ~ 7.4.12 미만 또는 8.0.12 미만)에 해당하는지 확인
composer show symfony/expression-language | grep 'versions'