{"id":"RUSTSEC-2024-0010","summary":"Improper comparison of different-length signatures","details":"The `Webhook::verify` function incorrectly compared signatures of\ndifferent lengths - the two signatures would only be compared up to\nthe length of the shorter signature. This allowed an attacker to\npass in `v1,` as the signature, which would always pass verification.","aliases":["CVE-2024-21491","GHSA-747x-5m58-mq97","GHSA-w277-wpqf-rcfv"],"modified":"2024-02-15T01:26:41.857241Z","published":"2024-02-06T12:00:00Z","database_specific":{"license":"CC0-1.0"},"references":[{"type":"PACKAGE","url":"https://crates.io/crates/svix"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2024-0010.html"},{"type":"WEB","url":"https://github.com/svix/svix-webhooks/pull/1190"}],"affected":[{"package":{"name":"svix","ecosystem":"crates.io","purl":"pkg:cargo/svix"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"1.17.0"}]}],"ecosystem_specific":{"affected_functions":null,"affects":{"arch":[],"functions":["svix::webhooks::Webhook::verify"],"os":[]}},"database_specific":{"categories":["crypto-failure"],"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2024-0010.json","informational":null,"cvss":null}}],"schema_version":"1.7.3"}