What it is
CVE-2017-12635 is an unauthenticated vulnerability affecting Apache CouchDB. Due to differences in the Erlang-based JSON parser and JavaScript-based JSON parser, it is possible in Apache CouchDB before 1.7.0 and 2.x...
Vulnerability report
Apache CouchDB Remote Code Execution
Apache CouchDB · 1.2.0 to 1.6.1
Decision summary
Direct answers before the deeper technical record.
What it is
CVE-2017-12635 is an unauthenticated vulnerability affecting Apache CouchDB. Due to differences in the Erlang-based JSON parser and JavaScript-based JSON parser, it is possible in Apache CouchDB before 1.7.0 and 2.x...
Is it exploited?
Yes. Previdian tracks this CVE as a known exploited vulnerability. Confidence is high. Also confirmed by third-party sources.
Who is affected?
Apache CouchDB 1.2.0 to 1.6.1.
What should we do?
Prioritize remediation. Validate affected assets and apply vendor fixes on an accelerated timeline.
Overview
Due to differences in the Erlang-based JSON parser and JavaScript-based JSON parser, it is possible in Apache CouchDB before 1.7.0 and 2.x before 2.1.1 to submit _users documents with duplicate keys for 'roles' used for access control within the database, including the special case '_admin' role, that denotes administrative users. In combination with CVE-2017-12636 (Remote Code Execution), this can be used to give non-admin users access to arbitrary shell commands on the server as the database system user. The JSON parser differences result in behaviour that if two 'roles' keys are available in the JSON, the second one will be used for authorising the document write, but the first 'roles' key is used for subsequent authorization for the newly created user.
By design, users can not assign themselves roles. The vulnerability allows non-admin users to give themselves admin privileges.
Exploitation evidence
Third-party attestation and first-party sensor observation are shown separately so teams can judge the evidence chain.
The Shadowserver
A trusted third party reported exploitation.
GitHub
Public scanner or PoC coverage increases practical exploitability.
Per-source evidence links for KEV attestations are available through the Previdian Pro API.
Learn about Pro API access| Source | Added |
|---|---|
| The Shadowserver First | 2025-04-25 00:00 UTC |
Detection
Make the evidence actionable in scanner, SOC, and edge-control workflows.
Request targets and User-Agents available in Pro. Callback host details available in Enterprise.
Metasploit template detected 28 Apr 2025.
View Metasploit template (opens in new tab)No Previdian virtual patch is currently available. Future rules ship for ModSecurity, Cloudflare, and AWS WAF.
Learn about virtual patches →Scanner and exploit-framework references linked to this CVE.
| Scanner | Reference | Detected |
|---|---|---|
| Metasploit | https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/apache_couchdb_cmd_exec.rb | 28 Apr 2025 |
| Nuclei | https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2017/CVE-2017-12635.yaml | 25 Apr 2025 |
Risk and context
CVSS v3.0
Potential damage if exploited. Separate from whether attackers are using it.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS
99.8%
Estimated chance of exploitation in the next 30 days. Previdian's warning comes from evidence, not this score.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AV:N/AC:L/Au:N/C:C/I:C/A:C
These PoCs are unverified and could contain malware. Use at your own risk.
nuclei · Created Unknown
Timeline
15:02 UTC
Exploit module available
15:02 UTC
Public proof-of-concept code published
00:00 UTC
High-confidence, third-party attested exploitation
00:00 UTC
Scanner coverage available
20:00 UTC
Vulnerability disclosed publicly
00:00 UTC
Identifier reserved by the CNA
Pro API
Confidence, exploit status, sensor telemetry, PoCs, scanner integrations, mentions, and tags are available programmatically for VM, SOC, and CTI workflows.
GET /api/v2/pro/kevs/CVE-2017-12635
Free JSON includes basic KEV fields{
"cve_id": "CVE-2017-12635",
"confidence": "High",
"cvss_score": 9.8,
"cvss_estimated": false,
"epss_score": 0.99838,
"exploit_status": {
"exploited_in_the_wild": true,
"active_exploitation_observed": false
},
"sensor_telemetry": { "attempts": 0, "sensors": 0 }
}