🔍 CVE-2026-49215

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

🇰🇷 한글 설명

Symfony UX의 LiveComponent 패키지에서 LiveAction 호출 여부를 판단하는 isLiveComponentRequest() 메서드가 CORS 안전 목록에 포함된 Accept 헤더에만 의존하고 있습니다. 이로 인해 교차 출처 fetch() 요청이 프리플라이트 없이 LiveAction을 호출할 수 있으며, 2.22.0~2.36.0 및 3.1.0 이전 버전에 영향을 미칩니다. 2.36.0 및 3.1.0에서 수정되었습니다.

💡 쉬운 설명

다른 웹사이트가 사용자 몰래 이 웹 애플리케이션에 요청을 보내, 로그인된 사용자의 권한으로 동작을 수행하게 만들 수 있는 취약점입니다. 쿠키 정책이 느슨한 경우 특히 위험합니다.

🇺🇸 원문 (English)

Symfony UX is a JavaScript ecosystem for Symfony. From 2.22.0 until 2.36.0 and 3.1.0, Symfony\UX\LiveComponent\EventListener\LiveComponentSubscriber::isLiveComponentRequest() gates #[LiveAction] invocations on Accept: application/vnd.live-component+html, but the Accept header is CORS-safelisted and cross-origin fetch() can set it without preflight, allowing forged cross-origin #[LiveAction] requests against a victim session when applications use SameSite=None, credentials: 'include', a permissive cookie policy, or a same-origin pivot. This issue is fixed in versions 2.36.0 and 3.1.0.

📍 영향받는 시스템

Symfony UX LiveComponent 2.22.0 이상 2.36.0 미만 및 3.0.x 버전

⚔️ 공격 벡터

악성 웹페이지가 피해자 브라우저에서 Accept 헤더를 포함한 교차 출처 fetch 요청을 보내 세션 쿠키와 함께 LiveAction을 강제 호출

🛡️ 대응 방법

symfony/ux-live-component를 2.36.0 또는 3.1.0 이상으로 업데이트하고, 세션 쿠키에 SameSite=Lax 또는 Strict 설정을 적용

🔧 검증 코드

출력된 버전이 2.36.0 또는 3.1.0 이상이면 패치 적용된 상태이며, 그보다 낮은 2.22.0~2.35.x 또는 3.0.x이면 취약합니다.

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:R/S:U/C:L/I:L/A:N