GitHub Advisoryadvisory · Maven, RubyGems

GHSA-72qj-48g4-5xgx JRuby-OpenSSL has hostname verification disabled by default

MEDIUM Published 2025-05-07 Modified 2026-01-21 Official page ↗
Aliases
CVE-2025-46551
Ecosystem
Maven, RubyGems
Packages
rubygems:jruby-openssl, org.jruby:jruby, jruby-openssl
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P
Weaknesses
CWE-295, CWE-297
Reviewed
2025-05-07

Affected packages

• Maven rubygems:jruby-openssl: >= 0.12.1, < 0.15.4 → fixed in 0.15.4 • Maven org.jruby:jruby: >= 10.0.0.0, < 10.0.0.1 → fixed in 10.0.0.1 • Maven org.jruby:jruby: >= 9.3.4.0, < 9.4.12.1 → fixed in 9.4.12.1 • RubyGems jruby-openssl: >= 0.12.1, < 0.15.4 → fixed in 0.15.4

Description

Summary When verifying SSL certificates, jruby-openssl is not verifying that the hostname presented in the certificate matches the one we are trying to connect to, meaning a MITM could just present _any_ valid cert for a completely different domain they own, and JRuby wouldn't complain. Details n/a PoC An example domain bad.substitutealert.com was created to present the a certificate for the domain s8a.me. The following script run in IRB in CRuby 3.4.3 will fail with `certificate verify failed (hostname mismatch)`, but will work just fine in JRuby 10.0.0.0 and JRuby 9.4.2.0, both of which use jruby-openssl version 0.15.3 ```ruby require "net/http" require "openssl" uri = URI("https://bad.substitutealert.com/") https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_PEER body = https.start { https.get(uri.request_uri).body } puts body ``` Impact Anybody using JRuby to make requests of external APIs, or scraping the web, that depends on https to connect securely

Related

Alias · CVE (1)

  • CVE-2025-46551 JRuby-OpenSSL is an add-on gem for JRuby that emulates the Ruby OpenSSL native library. vulnerability

Weakness · CWE (2)

  • CWE-295 Improper Certificate Validation weakness
  • CWE-297 Improper Validation of Certificate with Host Mismatch weakness

References