libp2p-quic: Remote panic via certificate expiry race during QUIC handshake
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| libp2p | rust-libp2p | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Libp2p | Rust-libp2p |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-5hq8-qhww-jm7q | libp2p-quic: Remote panic via certificate expiry race during QUIC handshake |
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.284% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Libp2p
Libp2p rust-libp2p |
|
| Vendors & Products |
Libp2p
Libp2p rust-libp2p |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | libp2p-rust is the official Rust language implementation of the libp2p networking stack. Prior to 0.13.1, libp2p-quic could panic during an inbound QUIC handshake when a remote peer presented a valid short-lived libp2p TLS certificate and delayed the final TLS 1.3 handshake fragment until after the certificate expired. In the Quinn post-handshake upgrade path, transports/quic/src/connection/connecting.rs called libp2p_tls::certificate::parse a second time in remote_peer_id and used expect on the result. The repeated wall-clock validity check could reject the now-expired certificate, causing the expect call to terminate any application exposing an affected libp2p-quic listener. This vulnerability is fixed in 0.13.1. | |
| Title | libp2p-quic: Remote panic via certificate expiry race during QUIC handshake | |
| Weaknesses | CWE-248 | |
| References |
| |
| Metrics |
cvssV4_0
|