{"schemaVersion":3,"id":"CVE-2026-89146","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"libp2p-rendezvous through 0.17.1 fails to validate registration TTL values in discovery responses, allowing attackers to trigger timer arithmetic overflow. A malicious rendezvous server can send a discovery response with an unbounded TTL value that causes the client node process to panic when computing the expiry timer.","dates":{"published":"2026-09-11T10:46:56.275Z","modified":"2026-09-24T14:21:34.176Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.7,"severity":"high","version":"4.0","versionLabel":"v4.0","source":"CVE.org","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":8.7,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":8.7,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.0063,"percentile":0.49257,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.20499999999999996,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00425},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.0063,"percentile":0.49257}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00425,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.0063,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.0063,"percentile":0.49257}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-190","name":"Integer Overflow or Wraparound","description":"The product performs a calculation that can\n         produce an integer overflow or wraparound when the logic\n         assumes that the resulting value will always be larger than\n         the original value. This occurs when an integer value is\n         incremented to a value that is too large to store in the\n         associated representation. When this occurs, the value may\n         become a very small or negative number.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/190.html"},{"id":"CWE-617","name":"Reachable Assertion","description":"The product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/617.html"}],"affected":[{"vendor":"libp2p","product":"libp2p-rendezvous","name":"libp2p-rendezvous","label":"libp2p-rendezvous","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 0.17.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"≤ 0.17.1","eol":null,"hubHref":"/vendor/libp2p/libp2p-rendezvous"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://gist.github.com/thesmartshadow/25ef03f7ebbd12118a9d27695c885989","label":"gist.github.com/thesmartshadow/25ef03f7ebbd12118a9d27695c885989","hostname":"gist.github.com","tags":["Third Party Advisory"]},{"url":"https://docs.rs/crate/libp2p-rendezvous/0.17.1/source/src/client.rs","label":"docs.rs/crate/libp2p-rendezvous/0.17.1/source/src/client.rs","hostname":"docs.rs","tags":["Technical Description"]},{"url":"https://github.com/libp2p/rust-libp2p","label":"github.com/libp2p/rust-libp2p","hostname":"github.com","tags":["Product"]},{"url":"https://www.vulncheck.com/advisories/libp2p-rendezvous-through-0.17.1-denial-of-service-via-unbounded-registration-ttl-in-discovery-responses","label":"www.vulncheck.com/advisories/…","hostname":"www.vulncheck.com","tags":["Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-09-11T10:46:56.275Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-24T14:21:34.176Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":35,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T13:36:28.729Z","stale":false,"partial":false}}