Debian Patches
Status for libnet-oauth-perl/0.31-2
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| 0001-Pin-PKCS-1-v1.5-padding-and-SHA-1-for-RSA-SHA1-signa.patch | Pin PKCS#1 v1.5 padding and SHA-1 for RSA-SHA1 signatures RFC 5849 3.4.3 mandates RSASSA-PKCS1-v1_5 with SHA-1, but Net::OAuth::SignatureMethod::RSA_SHA1 inherited whatever defaults the installed Crypt::OpenSSL::RSA happened to have. Those defaults have drifted twice: to SHA-256 in 0.29_01, and to RSA-PSS in 0.35. The practical effect is worse than the failing test suggests. Against Crypt::OpenSSL::RSA 0.35 and later, Net::OAuth emitted RSA-PSS signatures, which no compliant OAuth server will accept. sign() and verify() stayed self-consistent, so the breakage was invisible except to the fixed vector in t/02-rsa.t, whose output was also non-deterministic under PSS's randomised salt. Pin both the hash and the padding in sign() and verify(). The UNIVERSAL::can() guard keeps the existing duck-typed contract, so any object that can sign() is still accepted. Crypt::OpenSSL::RSA 0.35 through 0.37 disabled PKCS#1 v1.5 signing outright over the Marvin attack and 0.38 re-enabled it, so RSA-SHA1 is impossible on those three releases. Skip there with a diagnostic rather than dying, which would reintroduce the FTBFS this fixes, and recommend 0.38+ in the metadata. The test's manual use_sha1_hash() calls are removed: callers in the wild do not make them, so they were masking the real code path. |
Keith Grennan <keith@nearlyfree.org> | yes | debian upstream | https://github.com/keeth/Net-OAuth/commit/0d715322191f81cc7af75798cdef2fa5d3595701 | 2026-08-09 |
