🇰🇷 한글 설명
league/commonmark 2.0.0 미만 2.10.2 버전에서 GitHub Flavored Markdown Table 확장 기능의 TableStartParser::tryStart() 블록 시작 스캔 시 이차 시간(quadratic-time) 서비스 거부 취약점이 존재합니다. 인증되지 않은 공격자가 파이프(|) 기호가 없고 문자로 시작하지 않는 긴 단락을 제출하면, 반복적인 전체 버퍼 스캔이 발생하여 PHP 워커의 CPU 자원을 고갈시킬 수 있습니다.
💡 쉬운 설명
특정한 규칙을 가진 긴 글을 입력하면 서버가 이를 처리하느라 과도한 계산을 반복하게 만드는 공격입니다. 이로 인해 서버의 CPU 사용량이 급증하여 웹사이트 서비스가 느려지거나 멈출 수 있습니다.
🇺🇸 원문 (English)
league/commonmark from 2.0.0 before 2.10.2 contains a quadratic-time denial of service vulnerability in the GitHub Flavored Markdown Table extension's TableStartParser::tryStart() block-start scan. Unauthenticated attackers can submit a large paragraph of pipe-free lines not starting with letters, forcing repeated full-buffer strpos scans that exhaust PHP worker CPU.
📍 영향받는 시스템
league/commonmark 2.0.0 ~ 2.10.1 버전
⚔️ 공격 벡터
인증되지 않은 공격자가 특수하게 조작된 마크다운 텍스트를 입력값으로 전송
🛡️ 대응 방법
league/commonmark를 2.10.2 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력된 버전 정보가 2.10.2 미만인지 확인
composer show league/commonmark | grep 'versions'