
# CVE-2026-73316 개념 증명 및 기술 문서 XenForo 2.3.13 이전 버전의 PayPal REST 웹훅 재생 취약점에 대한 개념 증명 및 기술 문서로, 재현 절차와 수정 세부 사항을 포함합니다.
XenForo 2.3.13 이전 버전은 동일한 유효한 PayPal REST 웹훅을 두 번 이상 처리합니다.
PayPal REST 공급자는 XenForo의 기본 트랜잭션 검증기를 재정의하지만 중복 트랜잭션 로그 조회는 생략합니다. 데이터베이스 인덱스도 고유하지 않습니다. 따라서 하나의 트랜잭션 ID를 가진 바이트 단위로 동일하고 유효하게 서명된 두 건의 전달이 구매 완료를 두 번 실행할 수 있습니다.
저는 일회용 반복 업그레이드를 사용하여 XenForo 2.3.12(빌드 2031270)에서 이를 재현했습니다. 두 콜백 모두 HTTP 200을 반환하고, 별도의 결제 로그 행을 생성했으며, 동일한 권한을 연장했습니다. 공격자 모델은 인증된 콜백 또는 합법적인 공급자의 재시도/재전송을 요구합니다. 이 버그는 서명을 위조하지 않습니다.
XenForo 2.3.13에 이 수정 사항이 포함되어 있습니다.
승인된 테스트 콜백 본문 하나와 해당 헤더를 로컬에 저장한 후 다음을 실행합니다:
python poc.py https://xenforo.example headers.json callback.json
이 스크립트는 정확히 두 개의 사본을 전송하고 두 개의 HTTP 상태 코드만 출력합니다. 입력 파일을 커밋하지 마십시오. 실제 콜백 자료가 포함될 수 있습니다. 일회용 구매를 사용하고 테스트 후 상태를 복원하십시오.
발견자: Marco Paciaroni (BomboBombone).