Skip to content

v0.3.9

@hdm hdm tagged this 15 May 19:09
Bumps github.com/runZeroInc/excrypto to v0.39.0 to pick up large RSA
public exponent support (excrypto#78, mirrors zgrab2#714):

  * rsa.PublicKey.E is now *big.Int across the stack
  * x/crypto/ssh.parseRSA drops the BitLen() > 24 cap (now only requires
    odd, E >= 3)
  * x/crypto/ssh/agent drops BitLen() > 30 cap
  * configurable rsa.MaxPublicExponentBitLen DoS gate (default 1024)

Adds end-to-end test coverage to verify the entire sshamble chain
accepts an RSA key whose E exceeds the historical 32-bit cap (here
~1397 bits, comparable to keys observed in the wild):

  * badkeys/tests/rsa_2048_large_e.yml — fixture exercising the YAML
    test harness (x509 PKIX parse + PrefixFromPublicKey).
  * badkeys/large_e_test.go — TestLargeRSAExponentChain verifies the
    x509 PKIX round-trip, the SSH wire-format round-trip
    (ssh.NewPublicKey -> Marshal -> ParsePublicKey), and badkeys
    fingerprinting all preserve a multi-hundred-bit E. Both paths
    produce identical fingerprints, confirming consistency across the
    PKIX and SSH layers.
Assets 2
Loading