CVE-2026-55219 in Paymenter
요약
\~에 의해 VulDB • 2026. 07. 21.
Paymenter는 호스팅 서비스 관리를 위한 무료 오픈소스 웹숍 솔루션입니다. 버전 1.5.5 미만의 경우, app/Livewire/Invoices/Show.php의 신용 결제 구현에서 비관적 행 잠금(lockForUpdate())이 활성 데이터베이스 트랜잭션 외부에서 실행됩니다. MySQL/MariaDB는 행 수준 잠금을 강제하기 위해 감싸는 트랜잭션을 요구하므로, 해당 보호 장치가 무효화됩니다. 동시성 결제 요청은 이 Race Condition을 악용하여 동일한 신용 잔액을 동시에 읽을 수 있으며, 이를 통해 사용자는 같은 신용 잔액으로 여러 개의 청구서를 지불할 수 있습니다. MySQL과 같은 데이터베이스 시스템에서는 행 잠금이 공식적인 트랜잭션 내부에서만 작동하며, 트랜잭션이 없으면 잠금이 완전히 무시됩니다. 활성 잠금이 존재하지 않기 때문에 정확히 동일한 밀리초에 전송된 두 결제 요청은 동시에 데이터를베이스를 조회할 수 있습니다. 두 요청 모두 원래의 신용 잔액을 확인하고 충분하다고 판단하여 결제를 승인합니다. ExtensionHelper::addPayment()를 통해 결제 프로세스가 성공적으로 처리됨에 따라 애플리케이션이 해당 서비스 또는 디지털 상품을 제공하게 되어 플랫폼에게 직접적인 금전적 손실이나 자원 손실을 초래합니다. 이 문제는 버전 1.5.5에서 수정되었습니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.