🔍 CVE-2026-49208

5.3
CVSS Score
MEDIUM
2026-07-17
2026-10-24 20:10
✅ 완료

🇰🇷 한글 설명

Symfony UX는 Symfony용 JavaScript 생태계입니다. 2.8.0부터 2.36.0 미만 및 3.1.0 미만 버전에서, #[LiveProp]이 DateTimeInterface 타입으로 선언되고 명시적 포맷이 설정되지 않은 경우 LiveComponentHydrator::hydrateObjectValue()가 new $className($value)로 대체 처리되어, 클라이언트가 now, tomorrow, +10 years 같은 상대 시간 문자열을 보내 시간 기반 업무 로직 검증을 우회할 수 있습니다. 2.36.0 및 3.1.0에서 수정되었습니다.

💡 쉬운 설명

날짜를 입력받는 웹 화면의 값을 조작해 '지금', '내일', '10년 뒤' 같은 상대적 날짜를 넣으면 서버의 날짜 검사를 피할 수 있습니다. 이 문제는 수정 버전으로 업데이트하면 해결됩니다.

🇺🇸 원문 (English)

Symfony UX is a JavaScript ecosystem for Symfony. From 2.8.0 until 2.36.0 and 3.1.0, when a #[LiveProp] is typed as DateTimeInterface and no explicit format is configured, Symfony\UX\LiveComponent\LiveComponentHydrator::hydrateObjectValue() falls back to new $className($value), allowing client-supplied relative strings such as now, tomorrow, or +10 years to move a writable, format-less date prop past time-based business logic checks. This issue is fixed in versions 2.36.0 and 3.1.0.

📍 영향받는 시스템

Symfony UX LiveComponent 2.8.0 ~ 2.36.0 미만, 3.0.x 및 3.1.0 미만 버전을 사용하는 Symfony 애플리케이션

⚔️ 공격 벡터

쓰기 가능한 format 미지정 DateTimeInterface LiveProp에 클라이언트에서 'now', 'tomorrow', '+10 years' 등 상대 시간 문자열을 전송하여 시간 기반 비즈니스 로직 검증을 우회

🛡️ 대응 방법

symfony/ux-live-component를 2.36.0 또는 3.1.0 이상으로 업데이트하거나, 해당 LiveProp에 명시적 포맷을 지정하고 서버 측에서 날짜 값을 재검증

🔧 검증 코드

출력된 버전이 2.36.0 미만(2.x 계열) 또는 3.1.0 미만(3.x 계열)이면 취약하며, 2.36.0 이상 또는 3.1.0 이상이면 패치된 버전입니다.

Shell / Script
composer show symfony/ux-live-component 2>/dev/null | grep -E '^versions'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

💻 영향받는 소프트웨어

Skype for Business