🇰🇷 한글 설명
Symfony 기반 오픈소스 이커머스 프레임워크인 Sylius의 특정 버전에서 장바구니 FormComponent의 워크플로우 강제 실행 미흡 취약점이 발견되었습니다. 주문이 완료된 후에도 장바구니 페이지가 열려 있으면 상태 변경을 감지하지 못해, 인증된 고객이 이미 완료된 주문을 수정하거나 영구적으로 삭제할 수 있습니다.
💡 쉬운 설명
주문이 이미 끝났는데도 장바구니 화면을 그대로 켜두면, 시스템이 주문이 끝난 것을 인지하지 못해 주문 내용을 바꾸거나 삭제할 수 있는 문제입니다. 고객이 이미 결제한 물건을 마음대로 조작할 수 있는 위험이 있습니다.
🇺🇸 원문 (English)
Sylius is an Open Source eCommerce Framework on Symfony. Versions 2.0.0 through 2.0.17, 2.1.0 through 2.1.14, and 2.2.0 through 2.2.5 contain an improper workflow enforcement vulnerability in the cart `FormComponent`. When an order is completed while its cart page remains open, the stale LiveComponent does not detect the order’s changed state and continues to permit cart actions, allowing an authenticated customer to modify or permanently delete an already completed order. Versions 2.0.18, 2.1.15, and 2.2.6 contain a patch. As a workaround, deployments can copy the patched `FormComponent` into the application's `src/` directory and override the `sylius_shop.twig.component.cart.form` service definition to use that class.
📍 영향받는 시스템
Sylius 2.0.0-2.0.17, 2.1.0-2.1.14, 2.2.0-2.2.5
⚔️ 공격 벡터
인증된 사용자가 주문 완료 후 장바구니 페이지를 유지한 상태에서 장바구니 관련 동작을 수행하여 이미 완료된 주문을 조작
🛡️ 대응 방법
Sylius를 2.0.18, 2.1.15 또는 2.2.6 이상 버전으로 업데이트하거나, 패치된 FormComponent를 src/ 디렉토리에 복사하여 서비스 정의를 오버라이드함
🔧 검증 코드
출력된 버전이 취약한 버전 범위(2.0.0-2.0.17, 2.1.0-2.1.14, 2.2.0-2.2.5)에 해당하는지 확인
composer show sylius/sylius | grep versions