In manager.c in ss-manager in shadowsocks-libev 3.1.0, improper parsing allows command injection via shell metacharacters in a JSON configuration request received via 127.0.0.1 UDP traffic, related to the add_server, build_config, and construct_command_line functions.
Conclusion & alert: CVE-2017-15924 is rated High Exploit Risk (66.8/100): CVSS High severity, with medium exploitation likelihood (EPSS 0.45%). 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.
| EDB-ID | Source | Kind | Published | Link |
|---|---|---|---|---|
| — | nvd_ref | exploit_tag | Exploit-DB ↗ |
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 | 2025-03-30 | 1.08% | 0.45% | -0.63% |
| 2 | 2025-03-29 | 0.45% | 1.08% | +0.63% |
| 3 | 2025-03-17 | — | 0.45% | — |
Full EPSS history (6 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 7.8 | 3.0 | HIGH |
|
1.8 | 5.9 | [email protected] |
| 7.2 | 2.0 | HIGH |
|
3.9 | 10.0 | [email protected] |
| vendor | priority | summary | link |
|---|---|---|---|
debian
|
not yet assigned | CVE-2017-15924 not yet assigned priority: Debian including 1 source packages (shadowsocks-libev), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 5. | https://security-tracker.debian.org/tracker/CVE-2017-15924 |
ubuntu
|
medium | CVE-2017-15924 medium priority: Ubuntu including 1 source packages (shadowsocks-libev), 7 status rows across 7 suites (artful, bionic, cosmic, trusty, upstream, xenial, zesty): DNE 2, ignored 2, not-affected 2, released 1. | https://ubuntu.com/security/CVE-2017-15924 |
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| shadowsocks | shadowsocks-libev | 1.3 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.3:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.3.2 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.3.2:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.4.0 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.4.0:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.4.1 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.4.1:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.4.2 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.4.2:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.4.3 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.4.3:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.4.4 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.4.4:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.4.5 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.4.5:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.4.6 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.4.6:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.4.7 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.4.7:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.4.8 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.4.8:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.5.0 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.5.0:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.5.1 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.5.1:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.5.2 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.5.2:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.5.3 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.5.3:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.6.1 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.6.1:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.6.2 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.6.2:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.6.3 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.6.3:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 1.6.4 | cpe:2.3:a:shadowsocks:shadowsocks-libev:1.6.4:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.0.1 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.0.1:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.0.2 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.0.2:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.0.3 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.0.3:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.0.4 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.0.4:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.0.5 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.0.5:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.0.6 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.0.6:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.0.7 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.0.7:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.0.8 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.0.8:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.1.0 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.1.0:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.1.1 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.1.1:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.1.2 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.1.2:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.1.3 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.1.3:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.1.4 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.1.4:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.2.0 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.2.0:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.2.1 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.2.1:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.2.2 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.2.2:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.2.3 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.2.3:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.3.0 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.3.0:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.3.1 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.3.1:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.3.2 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.3.2:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.3.3 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.3.3:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.4.0 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.4.0:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.4.1 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.4.1:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.4.2 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.4.2:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.4.3 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.4.3:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.4.4 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.4.4:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.4.5 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.4.5:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.4.6 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.4.6:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.4.7 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.4.7:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.4.8 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.4.8:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.5.0 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.5.0:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.5.1 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.5.1:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.5.2 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.5.2:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.5.3 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.5.3:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.5.4 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.5.4:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.5.5 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.5.5:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.5.6 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.5.6:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.6.0 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.6.0:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.6.1 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.6.1:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.6.2 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.6.2:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 2.6.3 | cpe:2.3:a:shadowsocks:shadowsocks-libev:2.6.3:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 3.0.0 | cpe:2.3:a:shadowsocks:shadowsocks-libev:3.0.0:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 3.0.1 | cpe:2.3:a:shadowsocks:shadowsocks-libev:3.0.1:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 3.0.2 | cpe:2.3:a:shadowsocks:shadowsocks-libev:3.0.2:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 3.0.3 | cpe:2.3:a:shadowsocks:shadowsocks-libev:3.0.3:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 3.0.4 | cpe:2.3:a:shadowsocks:shadowsocks-libev:3.0.4:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 3.0.5 | cpe:2.3:a:shadowsocks:shadowsocks-libev:3.0.5:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 3.0.6 | cpe:2.3:a:shadowsocks:shadowsocks-libev:3.0.6:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 3.0.7 | cpe:2.3:a:shadowsocks:shadowsocks-libev:3.0.7:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 3.0.8 | cpe:2.3:a:shadowsocks:shadowsocks-libev:3.0.8:*:*:*:*:*:*:* |
| shadowsocks | shadowsocks-libev | 3.1.0 | cpe:2.3:a:shadowsocks:shadowsocks-libev:3.1.0:*:*:*:*:*:*:* |
| debian | debian_linux | 9.2 | cpe:2.3:o:debian:debian_linux:9.2:*:*:*:*:*:*:* |
| URL | Tags |
|---|---|
| http://openwall.com/lists/oss-security/2017/10/13/2 | Mailing List Third Party Advisory |
| http://www.debian.org/security/2017/dsa-4009 | Third Party Advisory |
| https://github.com/shadowsocks/shadowsocks-libev/commit/c67d275803dc6ea22c558d06b1f7ba9f94cd8de3 | Third Party Advisory |
| https://github.com/shadowsocks/shadowsocks-libev/issues/1734 | Third Party Advisory |
| https://www.x41-dsec.de/lab/advisories/x41-2017-010-shadowsocks-libev/ | Exploit Third Party Advisory |