{"id":"CVE-2026-72889","summary":"Net::OAuth versions before 0.33 for Perl allow the sender to choose the signature algorithm in verify","details":"Net::OAuth versions before 0.33 for Perl allow the sender to choose the signature algorithm in verify.\n\nverify resolves the signature method class from the signature_method parameter of the incoming message. signature_method is required on every request, so the algorithm used to check a signature is chosen by whoever sent it, and nothing lets the verifying party pin the method instead. When a message names HMAC-SHA1 or HMAC-SHA256, the key is derived from consumer_secret and token_secret rather than from the key the provider deployed.\n\nA provider deployed on RSA-SHA1 holds only the consumer public key, and RFC 5849 does not use consumer_secret for that method, so the required parameter is filled with a placeholder. A client that names HMAC-SHA1 instead has its signature checked against that placeholder, so a guessable one is enough to forge requests for any consumer key and token.","aliases":["GHSA-c8rm-g5cm-4pf5"],"modified":"2026-08-21T09:27:07.614273409Z","published":"2026-08-19T07:20:09.095Z","related":["openSUSE-SU-2026:11551-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72889.json","unresolved_ranges":[{"extracted_events":[{"fixed":"0.33"}],"source":"AFFECTED_FIELD"},{"extracted_events":[{"fixed":"0.33"}],"source":"DESCRIPTION"}],"cna_assigner":"CPANSec","cwe_ids":["CWE-347","CWE-757"]},"references":[{"type":"WEB","url":"http://www.openwall.com/lists/oss-security/2026/08/19/2"},{"type":"WEB","url":"https://cpan.org/modules"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72889.json"},{"type":"ADVISORY","url":"https://github.com/vurtdev/Net-OAuth/security/advisories/GHSA-c8rm-g5cm-4pf5"},{"type":"ADVISORY","url":"https://metacpan.org/release/RRWO/Net-OAuth-0.33/changes"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72889"},{"type":"FIX","url":"https://github.com/vurtdev/Net-OAuth/commit/c467adf45c8d77ac4b92ad78b3eebf949252ba7f.patch"},{"type":"PACKAGE","url":"https://github.com/vurtdev/Net-OAuth"},{"type":"ARTICLE","url":"https://datatracker.ietf.org/doc/html/rfc5849#section-3.4.2"},{"type":"ARTICLE","url":"https://datatracker.ietf.org/doc/html/rfc5849#section-3.4.3"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/vurtdev/net-oauth","events":[{"introduced":"0"},{"fixed":"c467adf45c8d77ac4b92ad78b3eebf949252ba7f"}],"database_specific":{"source":"REFERENCES"}}],"versions":["v0.32","v0.31","v0.30","v0.29"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72889.json"}}],"schema_version":"1.9.0"}