CVE-2017-12635
ErlangベースのJSONパーサーとJavaScriptベースのJSONパーサーの違いにより、Apache CouchDB 1.7.0より前および2.x系の2.1.1より前のバージョンでは、データベース内のアクセス制御に使用される'roles'の重複キーを持つ_usersドキュメントを送信することが可能です。こ...
- 公開済み
- 2017/11/14
- 更新済み
- 2024/09/17
- CNA の割り当て
- apache
- 観察された証拠
- 2018/04/23
プライマリ CVSS
nvd · CVSS 2.0
AV:N/AC:L/Au:N/C:C/I:C/A:C高 · 今後 30 日間
- パーセンタイル
- 100.0%
- モデルの日付
- 2026/10/12
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
ErlangベースのJSONパーサーとJavaScriptベースのJSONパーサーの違いにより、Apache CouchDB 1.7.0より前および2.x系の2.1.1より前のバージョンでは、データベース内のアクセス制御に使用される'roles'の重複キーを持つ_usersドキュメントを送信することが可能です。これには、管理者ユーザーを示す特別なケースである'_admin'ロールも含まれます。CVE-2017-12636(リモートコード実行)と組み合わせることで、非管理者ユーザーにデータベースシステムユーザーとしてサーバー上の任意のシェルコマンドへのアクセスを許可するために使用できます。JSONパーサーの違いにより、JSON内に2つの'roles'キーが存在する場合、2番目のキーがドキュメント書き込みの認可に使用されますが、最初の'roles'キーが新しく作成されたユーザーのその後の認可に使用されるという動作が発生します。設計上、ユーザーは自分自身にロールを割り当てることはできません。この脆弱性により、非管理者ユーザーが自分自身に管理者権限を付与することが可能になります。
ソース
- CouchDB Enum Utilityモジュール
modules/auxiliary/scanner/couchdb/couchdb_enum.rb
Metasploit Framework modules記載された条件
- verification: check_declared($.auxiliary_scanner/couchdb/couchdb_enum.check)
http/cves/2017/CVE-2017-12635.yaml
Nuclei Templates記載された条件
- network: http($.protocol_keys)
- verification: status,word($.matchers[*].type)
couchdb/CVE-2017-12635
Apache Couchdb Remote Privilege Escalation (CVE-2017-12635)
Vulhub vulnerability labs記載された条件
- lab image version: vulhub/couchdb:2.1.0(couchdb/CVE-2017-12635/docker-compose.yml:services.couchdb.image)
- lab image version: buildpack-deps:focal-curl(couchdb/CVE-2017-12635/docker-compose.yml:services.initd.image)
modules/exploits/linux/http/apache_couchdb_cmd_exec.rb
Metasploit Framework modules記載された条件
- platform: Linux($.exploit_linux/http/apache_couchdb_cmd_exec.platform)
- verification: check_declared($.exploit_linux/http/apache_couchdb_cmd_exec.check)
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。