CVE-2026-88255 in mpp정보

요약

\~에 의해 VulDB • 2026. 09. 16.

ZenHive의 MPP에서 입력에 대한 부적절한 안전하지 않은 동치성 검증으로 인해, 인증되지 않은 원격 클라이언트가 서명된 트랜잭션 하나를 사용하여 Tempo 중복 제출 가드를 두 번 통과할 수 있습니다.

MPP.Methods.Tempo는 reserve_hash_atomic/2 함수 내에서 호출자가 제공한 hex 값을 기반으로 pre-broadcast dedup slot을 예약하며, 이는 tx.raw의 store_key/1에 의해 키가 지정됩니다(트랜잭션의 정형화된 형태를 기준으로 하지 않음). 디시리얼라이저(callers)가 전달한 hex를 그대로 저장하고 두 가지 recovery-id 인코딩 모두를 허용하므로, v=27로 한 번과 v=0으로 한 번 제출된 하나의 서명된 트랜잭션은 서로 다른 두 개의 reserve 키를 생성하며, 둘 다 reserve 단계를 통과하여 broadcast 경로에 도달합니다. plug 수준의 자격 증명 재사용 방지 저장소(replay store)는 lib/mpp/replay.ex에서 Tempo용으로 의도적으로 분리되어 있으며, 이로 인해 reserve가 유일한 가드 역할을 하게 됩니다. 또한 post-broadcast 마크 단계에서는 raw 키 기반의 reserve가 읽지 않는 canonical hash key를 기록합니다.

이 중복 제출로 인한 결과는 노드에 따라 다릅니다: nonce 재사용 거부는 폐쇄형(fail-closed)으로 처리되며, 이미 알려진 트랜잭션에 대한 canonical hash를 반환하는 노드는 단일 온체인 결제에 대해 두 번째 유효한 Payment-Receipt를 반환합니다.

본 이슈는 mpp 패키지의 0.2.0 버전부터 0.16.2 이전 버전에 영향을 미칩니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

EEF

예약하다

2026. 09. 11.

모더레이션

수락

항목

VDB-405544

EPSS

0.00394

활동

중간

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!