CVE-2017-9225

Exp

An issue was discovered in Oniguruma 6.2.0, as used in Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP through 7.1.5. A stack out-of-bounds write in onigenc_unicode_get_case_fold_codes_by_str() occurs during regular expression compilation. Code point 0xFFFFFFFF is not properly handled in unicode_unfold_key(). A malformed regular expression could result in 4 bytes being written off the end of a stack buffer of expand_case_fold_string() during the call to onigenc_unicode_get_case_fold_codes_by_str(), a typical stack buffer overflow.

Published: 2017-05-24 Last update: 2026-05-13 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2017-9225 is rated High Exploit Risk (69.8/100): CVSS Critical severity, with low exploitation likelihood (EPSS 0.22%). Core evidence: 1 public exploit reference(s) are indexed (Exploit-DB). Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.

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

Public exploit references (Exploit-DB) for CVE-2017-9225

EDB-ID Source Kind Published Link
nvd_ref exploit_tag Exploit-DB ↗

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

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-05-14 0.29% 0.22% -0.07%
2 2026-01-14 0.43% 0.29% -0.14%
3 2025-03-30 0.43%

Full EPSS history (12 records total)

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

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-9225

OS Trackers for CVE-2017-9225

vendor priority summary link
debian not yet assigned CVE-2017-9225 not yet assigned priority: Debian including 1 source packages (libonig), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 5. https://security-tracker.debian.org/tracker/CVE-2017-9225
redhat medium https://access.redhat.com/security/cve/CVE-2017-9225
suse medium CVE-2017-9225 severity moderate: SUSE including 171 source package names (apache2-mod_php5, apache2-mod_php53, …), 216 product×package rows across 16 product lines (Magnum Orchestration 7, SUSE Lifecycle Management Server 1.3, … (16 product lines)): Known Not Affected 216. https://www.suse.com/security/cve/CVE-2017-9225/
ubuntu medium CVE-2017-9225 medium priority: Ubuntu including 4 source packages (libonig, php5, php7.0, php7.1), 25 status rows across 7 suites (artful, bionic, trusty, upstream, xenial, yakkety, zesty): DNE 11, not-affected 8, needs-triage 4, ignored 2. https://ubuntu.com/security/CVE-2017-9225

Affected software / configurations for CVE-2017-9225

Vendor Product Version Raw CPE
oniguruma_project oniguruma 6.2.0 cpe:2.3:a:oniguruma_project:oniguruma:6.2.0:*:*:*:*:*:*:*
php php <= 7.1.5 cpe:2.3:a:php:php:*:*:*:*:*:oniguruma-mod:*:*
ruby-lang ruby <= 2.4.1 cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:oniguruma-mod:*:*

References for CVE-2017-9225

cvelogic Threat Intelligence