{"basis":"claimed","id":"CVE-2025-25291","name":"ruby-saml vulnerable to SAML authentication bypass due to DOCTYPE handling (parser differential)","vendorProject":"SAML-Toolkits","product":"ruby-saml","publishedAt":"2025-03-12","cvss":{"score":9.3,"severity":"CRITICAL","version":"4.0"},"exploited":null,"epss":{"score":0.20965,"percentile":0.97563,"date":"2026-11-02"},"coverage":{"cloudflare":{"status":"none","firstOn":null,"daysToRule":null},"aws":{"status":"none","firstOn":null,"daysToRule":null},"azure":{"status":"none","firstOn":null,"daysToRule":null},"google":{"status":"none","firstOn":null,"daysToRule":null},"fastly":{"status":"no_history","firstOn":null,"daysToRule":null},"f5":{"status":"rule","firstOn":"2025-04-28","daysToRule":47},"akamai":{"status":"no_source","firstOn":null,"daysToRule":null},"crs":{"status":"none","firstOn":null,"daysToRule":null}},"title":"ruby-saml vulnerable to SAML authentication bypass due to DOCTYPE handling (parser differential)","description":"ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby. An authentication bypass vulnerability was found in ruby-saml prior to versions 1.12.4 and 1.18.0 due to a parser differential. ReXML and Nokogiri parse XML differently; the parsers can generate entirely different document structures from the same XML input. That allows an attacker to be able to execute a Signature Wrapping attack. This issue may lead to authentication bypass. Versions 1.12.4 and 1.18.0 fix the issue.","cwes":["CWE-347","CWE-436"],"vendors":[{"vendor":"cloudflare","status":"none","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]},{"vendor":"aws","status":"none","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]},{"vendor":"azure","status":"none","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]},{"vendor":"google","status":"none","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]},{"vendor":"fastly","status":"no_history","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]},{"vendor":"f5","status":"rule","basis":"claimed","firstOn":"2025-04-28","firstIsNew":true,"daysToRule":47,"daysAtMost":null,"freePlan":false,"claims":[{"id":"7c6aa7dc44127f59c5bf4a67cc844a6b39f6d54859e9cbbe7e2e7776ebbb22cf","cve_id":"CVE-2025-25291","vendor":"f5","product":"Attack signatures","rule_id":"200013112","rule_name":"ruby-saml library Authentication Bypass","change":"new","default_action":null,"published_on":"2025-04-28","source_url":"https://docs.cloud.f5.com/docs-v2/platform/changelogs/security-details-changelog","source_title":"F5 Distributed Cloud attack signatures changelog","excerpt":"Added: signature 200013112 \"ruby-saml library Authentication Bypass\" (Authentication/Authorization Attacks, risk High), systems: Other Web Server, Ruby. References: CVE-2025-25291, CVE-2025-25292.","first_seen_at":"2026-11-02T21:00:26.482Z"},{"id":"ce68b278ad6c213a151cb0e215c6125831f270f4b895826f81fa0f8b6a68d5da","cve_id":"CVE-2025-25291","vendor":"f5","product":"Attack signatures","rule_id":"200013112","rule_name":"ruby-saml library Authentication Bypass","change":"new","default_action":null,"published_on":"2025-05-22","source_url":"https://docs.cloud.f5.com/docs-v2/platform/changelogs/security-details-changelog","source_title":"F5 Distributed Cloud attack signatures changelog","excerpt":"Added: signature 200013112 \"ruby-saml library Authentication Bypass\" (Authentication/Authorization Attacks, risk High), systems: Other Web Server, Ruby. References: CVE-2025-25291, CVE-2025-25292.","first_seen_at":"2026-11-02T21:00:26.075Z"}]},{"vendor":"akamai","status":"no_source","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]},{"vendor":"crs","status":"none","basis":"claimed","firstOn":null,"firstIsNew":false,"daysToRule":null,"daysAtMost":null,"freePlan":false,"claims":[]}],"updatedAt":"2026-11-02T21:17:16.726Z","cvssVector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","ssvc":{"exploitation":"poc","automatable":"yes","technicalImpact":"total"},"measured":[],"social":{"total":0,"first_seen":null,"daily":[{"day":"2026-10-21","posts":0},{"day":"2026-10-22","posts":0},{"day":"2026-10-23","posts":0},{"day":"2026-10-24","posts":0},{"day":"2026-10-25","posts":0},{"day":"2026-10-26","posts":0},{"day":"2026-10-27","posts":0},{"day":"2026-10-28","posts":0},{"day":"2026-10-29","posts":0},{"day":"2026-10-30","posts":0},{"day":"2026-10-31","posts":0},{"day":"2026-11-01","posts":0},{"day":"2026-11-02","posts":0},{"day":"2026-11-03","posts":0}],"top_posts":[],"exploit_repositories":[]}}