CVE-2017-0903

RubyGems versions between 2.0.0 and 2.6.13 are vulnerable to a possible remote code execution vulnerability. YAML deserialization of gem specifications can bypass class white lists. Specially crafted serialized objects can possibly be used to escalate to remote code execution.

Published: 2017-10-11 Last update: 2026-06-16 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2017-0903 is rated High Risk (78/100): CVSS Critical severity, with high exploitation likelihood (EPSS 15.85%, 96th percentile). Core evidence: EPSS ranks this CVE among the most likely to be exploited in the near term. EPSS rose +10.31% over the last day, indicating growing attacker interest. Mandatory action: High exploitation likelihood—assess exposure and prioritize remediation.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Exploit prediction scoring system (EPSS) score for CVE-2017-0903

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-06-15 5.54% 15.85% +10.31%
2 2026-04-12 4.62% 5.54% +0.92%
3 2026-03-04 4.62%

Full EPSS history (48 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2017-0903

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
9.8 3.0 CRITICAL
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:H)
Serious risk that confidential data gets exposed in a big way.
Integrity (I:H)
They could widely tamper with or forge data—trust in the data is badly hurt.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
3.9 5.9 [email protected]
7.5 2.0 HIGH
AV:N/AC:L/Au:N/C:P/I:P/A:P Click to expand
Access vector (AV:N)
Can be exploited remotely over network reachability.
Access complexity (AC:L)
Exploitation conditions are straightforward and predictable.
Authentication (AU:N)
No authentication is required.
Confidentiality impact (C:P)
Partial confidentiality impact.
Integrity impact (I:P)
Partial integrity impact.
Availability impact (A:P)
Partial availability impact.
10.0 6.4 [email protected]

Weakness enumeration for CVE-2017-0903

GitHub Security Advisory for CVE-2017-0903

GHSA-mqwr-4qf2-2hcv · Severity: critical · Ecosystem: rubygems — RubyGems vulnerable to Deserialization of Untrusted Data

OS Trackers for CVE-2017-0903

vendor priority summary link
debian not yet assigned CVE-2017-0903 not yet assigned priority: Debian including 1 source packages (rubygems), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 5. https://security-tracker.debian.org/tracker/CVE-2017-0903
redhat medium https://access.redhat.com/security/cve/CVE-2017-0903
suse medium CVE-2017-0903 severity moderate: SUSE including 21 source package names (libruby2_1-2_1-2.1.9-19.3.2, ruby-2.0.0.648-33.el7_4, …), 144 product×package rows across 46 product lines (HPE Helion OpenStack 8, Image SLES12-SP5-Azure-BYOS, … (46 product lines)): Fixed 140, Known Not Affected 4. https://www.suse.com/security/cve/CVE-2017-0903/
ubuntu medium CVE-2017-0903 medium priority: Ubuntu including 4 source packages (jruby, ruby1.9.1, ruby2.0, ruby2.3), 82 status rows across 21 suites (artful, bionic, cosmic, disco, eoan, focal, groovy, hirsute, impish, jammy, kinetic, lunar, mantic, noble, oracular, plucky, questing, trusty, upstream, xenial, zesty): DNE 56, not-affected 12, ignored 5, needs-triage 4, released 4, needed 1. https://ubuntu.com/security/CVE-2017-0903

Affected software / configurations for CVE-2017-0903

Vendor Product Version Raw CPE
rubygems rubygems 2.0.0 cpe:2.3:a:rubygems:rubygems:2.0.0:*:*:*:*:*:*:*
rubygems rubygems 2.0.0 cpe:2.3:a:rubygems:rubygems:2.0.0:preview2:*:*:*:*:*:*
rubygems rubygems 2.0.0 cpe:2.3:a:rubygems:rubygems:2.0.0:preview2.1:*:*:*:*:*:*
rubygems rubygems 2.0.0 cpe:2.3:a:rubygems:rubygems:2.0.0:preview2.2:*:*:*:*:*:*
rubygems rubygems 2.0.0 cpe:2.3:a:rubygems:rubygems:2.0.0:rc1:*:*:*:*:*:*
rubygems rubygems 2.0.0 cpe:2.3:a:rubygems:rubygems:2.0.0:rc2:*:*:*:*:*:*
rubygems rubygems 2.0.1 cpe:2.3:a:rubygems:rubygems:2.0.1:*:*:*:*:*:*:*
rubygems rubygems 2.0.2 cpe:2.3:a:rubygems:rubygems:2.0.2:*:*:*:*:*:*:*
rubygems rubygems 2.0.3 cpe:2.3:a:rubygems:rubygems:2.0.3:*:*:*:*:*:*:*
rubygems rubygems 2.0.4 cpe:2.3:a:rubygems:rubygems:2.0.4:*:*:*:*:*:*:*
rubygems rubygems 2.0.5 cpe:2.3:a:rubygems:rubygems:2.0.5:*:*:*:*:*:*:*
rubygems rubygems 2.0.6 cpe:2.3:a:rubygems:rubygems:2.0.6:*:*:*:*:*:*:*
rubygems rubygems 2.0.7 cpe:2.3:a:rubygems:rubygems:2.0.7:*:*:*:*:*:*:*
rubygems rubygems 2.0.8 cpe:2.3:a:rubygems:rubygems:2.0.8:*:*:*:*:*:*:*
rubygems rubygems 2.0.9 cpe:2.3:a:rubygems:rubygems:2.0.9:*:*:*:*:*:*:*
rubygems rubygems 2.0.10 cpe:2.3:a:rubygems:rubygems:2.0.10:*:*:*:*:*:*:*
rubygems rubygems 2.0.11 cpe:2.3:a:rubygems:rubygems:2.0.11:*:*:*:*:*:*:*
rubygems rubygems 2.0.12 cpe:2.3:a:rubygems:rubygems:2.0.12:*:*:*:*:*:*:*
rubygems rubygems 2.0.13 cpe:2.3:a:rubygems:rubygems:2.0.13:*:*:*:*:*:*:*
rubygems rubygems 2.0.14 cpe:2.3:a:rubygems:rubygems:2.0.14:*:*:*:*:*:*:*
rubygems rubygems 2.0.15 cpe:2.3:a:rubygems:rubygems:2.0.15:*:*:*:*:*:*:*
rubygems rubygems 2.0.16 cpe:2.3:a:rubygems:rubygems:2.0.16:*:*:*:*:*:*:*
rubygems rubygems 2.0.17 cpe:2.3:a:rubygems:rubygems:2.0.17:*:*:*:*:*:*:*
rubygems rubygems 2.1.0 cpe:2.3:a:rubygems:rubygems:2.1.0:*:*:*:*:*:*:*
rubygems rubygems 2.1.0.rc.1 cpe:2.3:a:rubygems:rubygems:2.1.0.rc.1:*:*:*:*:*:*:*
rubygems rubygems 2.1.0.rc.2 cpe:2.3:a:rubygems:rubygems:2.1.0.rc.2:*:*:*:*:*:*:*
rubygems rubygems 2.1.1 cpe:2.3:a:rubygems:rubygems:2.1.1:*:*:*:*:*:*:*
rubygems rubygems 2.1.2 cpe:2.3:a:rubygems:rubygems:2.1.2:*:*:*:*:*:*:*
rubygems rubygems 2.1.3 cpe:2.3:a:rubygems:rubygems:2.1.3:*:*:*:*:*:*:*
rubygems rubygems 2.1.4 cpe:2.3:a:rubygems:rubygems:2.1.4:*:*:*:*:*:*:*
rubygems rubygems 2.1.5 cpe:2.3:a:rubygems:rubygems:2.1.5:*:*:*:*:*:*:*
rubygems rubygems 2.1.6 cpe:2.3:a:rubygems:rubygems:2.1.6:*:*:*:*:*:*:*
rubygems rubygems 2.1.7 cpe:2.3:a:rubygems:rubygems:2.1.7:*:*:*:*:*:*:*
rubygems rubygems 2.1.8 cpe:2.3:a:rubygems:rubygems:2.1.8:*:*:*:*:*:*:*
rubygems rubygems 2.1.9 cpe:2.3:a:rubygems:rubygems:2.1.9:*:*:*:*:*:*:*
rubygems rubygems 2.1.10 cpe:2.3:a:rubygems:rubygems:2.1.10:*:*:*:*:*:*:*
rubygems rubygems 2.1.11 cpe:2.3:a:rubygems:rubygems:2.1.11:*:*:*:*:*:*:*
rubygems rubygems 2.2.0 cpe:2.3:a:rubygems:rubygems:2.2.0:*:*:*:*:*:*:*
rubygems rubygems 2.2.0.preiew.1 cpe:2.3:a:rubygems:rubygems:2.2.0.preiew.1:*:*:*:*:*:*:*
rubygems rubygems 2.2.0.rc.1 cpe:2.3:a:rubygems:rubygems:2.2.0.rc.1:*:*:*:*:*:*:*
rubygems rubygems 2.2.1 cpe:2.3:a:rubygems:rubygems:2.2.1:*:*:*:*:*:*:*
rubygems rubygems 2.2.2 cpe:2.3:a:rubygems:rubygems:2.2.2:*:*:*:*:*:*:*
rubygems rubygems 2.2.3 cpe:2.3:a:rubygems:rubygems:2.2.3:*:*:*:*:*:*:*
rubygems rubygems 2.2.4 cpe:2.3:a:rubygems:rubygems:2.2.4:*:*:*:*:*:*:*
rubygems rubygems 2.2.5 cpe:2.3:a:rubygems:rubygems:2.2.5:*:*:*:*:*:*:*
rubygems rubygems 2.3.0 cpe:2.3:a:rubygems:rubygems:2.3.0:*:*:*:*:*:*:*
rubygems rubygems 2.4.0 cpe:2.3:a:rubygems:rubygems:2.4.0:*:*:*:*:*:*:*
rubygems rubygems 2.4.1 cpe:2.3:a:rubygems:rubygems:2.4.1:*:*:*:*:*:*:*
rubygems rubygems 2.4.2 cpe:2.3:a:rubygems:rubygems:2.4.2:*:*:*:*:*:*:*
rubygems rubygems 2.4.3 cpe:2.3:a:rubygems:rubygems:2.4.3:*:*:*:*:*:*:*
rubygems rubygems 2.4.4 cpe:2.3:a:rubygems:rubygems:2.4.4:*:*:*:*:*:*:*
rubygems rubygems 2.4.5 cpe:2.3:a:rubygems:rubygems:2.4.5:*:*:*:*:*:*:*
rubygems rubygems 2.4.6 cpe:2.3:a:rubygems:rubygems:2.4.6:*:*:*:*:*:*:*
rubygems rubygems 2.4.7 cpe:2.3:a:rubygems:rubygems:2.4.7:*:*:*:*:*:*:*
rubygems rubygems 2.4.8 cpe:2.3:a:rubygems:rubygems:2.4.8:*:*:*:*:*:*:*
rubygems rubygems 2.5.0 cpe:2.3:a:rubygems:rubygems:2.5.0:*:*:*:*:*:*:*
rubygems rubygems 2.5.1 cpe:2.3:a:rubygems:rubygems:2.5.1:*:*:*:*:*:*:*
rubygems rubygems 2.5.2 cpe:2.3:a:rubygems:rubygems:2.5.2:*:*:*:*:*:*:*
rubygems rubygems 2.6.0 cpe:2.3:a:rubygems:rubygems:2.6.0:*:*:*:*:*:*:*
rubygems rubygems 2.6.1 cpe:2.3:a:rubygems:rubygems:2.6.1:*:*:*:*:*:*:*
rubygems rubygems 2.6.2 cpe:2.3:a:rubygems:rubygems:2.6.2:*:*:*:*:*:*:*
rubygems rubygems 2.6.3 cpe:2.3:a:rubygems:rubygems:2.6.3:*:*:*:*:*:*:*
rubygems rubygems 2.6.4 cpe:2.3:a:rubygems:rubygems:2.6.4:*:*:*:*:*:*:*
rubygems rubygems 2.6.5 cpe:2.3:a:rubygems:rubygems:2.6.5:*:*:*:*:*:*:*
rubygems rubygems 2.6.6 cpe:2.3:a:rubygems:rubygems:2.6.6:*:*:*:*:*:*:*
rubygems rubygems 2.6.7 cpe:2.3:a:rubygems:rubygems:2.6.7:*:*:*:*:*:*:*
rubygems rubygems 2.6.8 cpe:2.3:a:rubygems:rubygems:2.6.8:*:*:*:*:*:*:*
rubygems rubygems 2.6.9 cpe:2.3:a:rubygems:rubygems:2.6.9:*:*:*:*:*:*:*
rubygems rubygems 2.6.10 cpe:2.3:a:rubygems:rubygems:2.6.10:*:*:*:*:*:*:*
rubygems rubygems 2.6.11 cpe:2.3:a:rubygems:rubygems:2.6.11:*:*:*:*:*:*:*
rubygems rubygems 2.6.12 cpe:2.3:a:rubygems:rubygems:2.6.12:*:*:*:*:*:*:*
rubygems rubygems 2.6.13 cpe:2.3:a:rubygems:rubygems:2.6.13:*:*:*:*:*:*:*
debian debian_linux 8.0 cpe:2.3:o:debian:debian_linux:8.0:*:*:*:*:*:*:*
debian debian_linux 9.0 cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*
canonical ubuntu_linux 14.04 cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:lts:*:*:*
canonical ubuntu_linux 16.04 cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:lts:*:*:*
canonical ubuntu_linux 17.10 cpe:2.3:o:canonical:ubuntu_linux:17.10:*:*:*:*:*:*:*
redhat enterprise_linux_desktop 7.0 cpe:2.3:o:redhat:enterprise_linux_desktop:7.0:*:*:*:*:*:*:*
redhat enterprise_linux_server 7.0 cpe:2.3:o:redhat:enterprise_linux_server:7.0:*:*:*:*:*:*:*
redhat enterprise_linux_server_aus 7.4 cpe:2.3:o:redhat:enterprise_linux_server_aus:7.4:*:*:*:*:*:*:*

References for CVE-2017-0903

URL Tags
http://blog.rubygems.org/2017/10/09/2.6.14-released.html Vendor Advisory
http://blog.rubygems.org/2017/10/09/unsafe-object-deserialization-vulnerability.html Vendor Advisory
http://www.securityfocus.com/bid/101275 Third Party Advisory VDB Entry
https://access.redhat.com/errata/RHSA-2017:3485 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0378 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0583 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0585 Third Party Advisory
https://github.com/rubygems/rubygems/commit/510b1638ac9bba3ceb7a5d73135dafff9e5bab49 Patch Third Party Advisory
https://hackerone.com/reports/274990 Third Party Advisory
https://lists.debian.org/debian-lts-announce/2018/07/msg00012.html Mailing List Third Party Advisory
https://usn.ubuntu.com/3553-1/ Third Party Advisory
https://usn.ubuntu.com/3685-1/ Third Party Advisory
https://www.debian.org/security/2017/dsa-4031 Third Party Advisory
cvelogic Threat Intelligence