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

All known versions for source package 'libnet-oauth-perl'

Links