From e06915adee35f9b3344bc350a85325c8115e1eed Mon Sep 17 00:00:00 2001 From: "advisory-database[bot]" <45398580+advisory-database[bot]@users.noreply.github.com> Date: Wed, 7 May 2025 17:34:34 +0000 Subject: [PATCH] Publish GHSA-72qj-48g4-5xgx --- .../GHSA-72qj-48g4-5xgx.json | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 advisories/github-reviewed/2025/05/GHSA-72qj-48g4-5xgx/GHSA-72qj-48g4-5xgx.json diff --git a/advisories/github-reviewed/2025/05/GHSA-72qj-48g4-5xgx/GHSA-72qj-48g4-5xgx.json b/advisories/github-reviewed/2025/05/GHSA-72qj-48g4-5xgx/GHSA-72qj-48g4-5xgx.json new file mode 100644 index 00000000000..429074f1864 --- /dev/null +++ b/advisories/github-reviewed/2025/05/GHSA-72qj-48g4-5xgx/GHSA-72qj-48g4-5xgx.json @@ -0,0 +1,100 @@ +{ + "schema_version": "1.4.0", + "id": "GHSA-72qj-48g4-5xgx", + "modified": "2025-05-07T17:32:55Z", + "published": "2025-05-07T17:32:54Z", + "aliases": [ + "CVE-2025-46551" + ], + "summary": "JRuby-OpenSSL has hostname verification disabled by default", + "details": "### Summary\nWhen 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. \n\n### Details\nn/a\n\n### PoC\nAn 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\n\n```ruby\nrequire \"net/http\"\nrequire \"openssl\"\n\nuri = URI(\"https://bad.substitutealert.com/\")\nhttps = Net::HTTP.new(uri.host, uri.port)\nhttps.use_ssl = true\nhttps.verify_mode = OpenSSL::SSL::VERIFY_PEER\n\nbody = https.start { https.get(uri.request_uri).body }\nputs body\n```\n\n### Impact\nAnybody using JRuby to make requests of external APIs, or scraping the web, that depends on https to connect securely", + "severity": [ + { + "type": "CVSS_V4", + "score": "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" + } + ], + "affected": [ + { + "package": { + "ecosystem": "Maven", + "name": "rubygems:jruby-openssl" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "0.12.1" + }, + { + "fixed": "0.15.4" + } + ] + } + ] + }, + { + "package": { + "ecosystem": "Maven", + "name": "org.jruby:jruby" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "10.0.0.0" + }, + { + "fixed": "10.0.0.1" + } + ] + } + ] + }, + { + "package": { + "ecosystem": "Maven", + "name": "org.jruby:jruby" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "9.3.4.0" + }, + { + "fixed": "9.4.12.1" + } + ] + } + ] + } + ], + "references": [ + { + "type": "WEB", + "url": "https://github.com/jruby/jruby-openssl/security/advisories/GHSA-72qj-48g4-5xgx" + }, + { + "type": "WEB", + "url": "https://github.com/jruby/jruby-openssl/commit/b1fc5d645c0d90891b8865925ac1c15e3f15a055" + }, + { + "type": "PACKAGE", + "url": "https://github.com/jruby/jruby-openssl" + } + ], + "database_specific": { + "cwe_ids": [ + "CWE-295", + "CWE-297" + ], + "severity": "MODERATE", + "github_reviewed": true, + "github_reviewed_at": "2025-05-07T17:32:54Z", + "nvd_published_at": null + } +} \ No newline at end of file