Rapid7 Vulnerability & Exploit Database

Scanner for Bleichenbacher Oracle in RSA PKCS #1 v1.5

Back to Search

Scanner for Bleichenbacher Oracle in RSA PKCS #1 v1.5



Some TLS implementations handle errors processing RSA key exchanges and encryption (PKCS #1 v1.5 messages) in a broken way that leads an adaptive chosen-chiphertext attack. Attackers cannot recover a server's private key, but they can decrypt and sign messages with it. A strong oracle occurs when the TLS server does not strictly check message formatting and needs less than a million requests on average to decode a given ciphertext. A weak oracle server strictly checks message formatting and often requires many more requests to perform the attack. This module requires Python 3 with the gmpy2 and cryptography packages to be present.


  • Hanno Böck
  • Juraj Somorovsky
  • Craig Young
  • Daniel Bleichenbacher
  • Adam Cammack <adam_cammack[AT]rapid7.com>


Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':

msf > use auxiliary/scanner/ssl/bleichenbacher_oracle
msf auxiliary(bleichenbacher_oracle) > show actions
msf auxiliary(bleichenbacher_oracle) > set ACTION < action-name >
msf auxiliary(bleichenbacher_oracle) > show options
    ...show and set options...
msf auxiliary(bleichenbacher_oracle) > run 

Time is precious, so I don’t want to do something manually that I can automate. Leveraging the Metasploit Framework when automating any task keeps us from having to re-create the wheel as we can use the existing libraries and focus our efforts where it matters.

– Jim O’Gorman | President, Offensive Security