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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-8794 — PaperCut NG의 인증 타이밍 부채널을 통한 사용자 이름 열거 | Kitploit
도구/GitHubGitHub/h4zaz/cve-2026-8794
ReconnaissanceVulnerability AnalysisWeb Application ExploitationInformation GatheringWeb SecurityPenetration TestingAuthentication
GitHubh4zaz/cve-2026-8794

CVE-2026-8794

PaperCut NG의 인증 타이밍 부채널을 통한 사용자 이름 열거

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-8794 — PaperCut NG 인증 타이밍 부채널을 통한 사용자명 열거

필드세부 정보
CVE IDCVE-2026-8794
제품PaperCut NG
영향받는 버전25.0.11 (Build 75758) 및 이전 버전
CWECWE-208 — 관측 가능한 타이밍 불일치
CVSS 점수3.7 (낮음) — 단독 기준, CVE-2026-8793과 연계 시 위험도 상승
연구자Vivien LEBAS (@Hazaz)
보고일2026년 5월
상태패치 완료 — PaperCut NG 26.0.3

요약

PaperCut NG의 인증 엔드포인트는 존재하는 계정과 존재하지 않는 계정에 대한 로그인 시도 간에 측정 가능한 타이밍 차이를 보입니다. 일치하는 계정이 발견된 경우에만 bcrypt 비밀번호 해싱이 수행되기 때문에 발생하는 이 차이로 인해, 인증되지 않은 공격자가 HTTP 응답 시간을 측정하여 특정 사용자명이 시스템에 존재하는지 여부를 안정적으로 판별할 수 있습니다.

CVE-2026-8793(무차별 대입 공격 보호 부재)과 결합하면, 이 취약점은 완전한 자격 증명 탈취 공격 체인을 가능하게 합니다: 먼저 유효한 사용자명을 열거한 다음, 잠금 위험 없이 무제한의 표적 비밀번호 추측을 수행할 수 있습니다.


기술적 세부 정보

근본 원인

타이밍 차이는 전형적인 구현 패턴에서 비롯됩니다. 애플리케이션은 제출된 사용자명과 일치하는 계정이 데이터베이스에서 발견된 경우에만 bcrypt 비교를 호출합니다. 존재하지 않는 계정의 경우 인증 루틴은 bcrypt가 호출되기 전에 조기 종료되어 측정 가능할 정도로 더 짧은 응답 시간이 발생합니다.

root@kitploit:~
Valid username:   DB lookup (found) → bcrypt comparison → failure response  ~2.1s avg
Invalid username: DB lookup (not found) → immediate failure response         ~0.2s avg

이 패턴은 잘 문서화되어 있습니다(CWE-208 참조). 표준 해결책은 계정이 존재하지 않을 때에도 더미 bcrypt 비교를 수행하여 두 코드 경로 간 응답 시간을 동일하게 만드는 것입니다.

측정 방법론

통제된 조건에서 PaperCut NG 로그인 엔드포인트에 대해 인증 시도를 수행했습니다:

  • 환경: 격리된 실험실, Windows Server 2022, 로컬 네트워크(서브 밀리초 기본 지연 시간)
  • 표본 크기: 조건당 15회 시도(유효 사용자명 / 무효 사용자명)
  • 도구: --write-out "%{time_total}" 옵션을 사용한 curl, 모든 경우 의도적으로 잘못된 비밀번호 사용

결과

두 분포는 겹침이 전혀 없어, 적당한 수준의 네트워크 지터가 있어도 열거를 안정적으로 수행할 수 있습니다.

개념 증명

root@kitploit:~
# Measure response time for an existing account (wrong password)
curl -s -o /dev/null -w "%{time_total}\n" \
  -X POST "http://<target>:9191/app" \
  -H "Origin: http://<target>:9191" \
  --data "service=direct/1/Home/%24Form&inputUsername=admin&inputPassword=wrongpassword"
# Output: ~2.1s

# Measure response time for a non-existent account
curl -s -o /dev/null -w "%{time_total}\n" \
  -X POST "http://<target>:9191/app" \
  -H "Origin: http://<target>:9191" \
  --data "service=direct/1/Home/%24Form&inputUsername=zz_doesnotexist_zz&inputPassword=wrongpassword"
# Output: ~0.2s

~0.5초를 크게 초과하는 응답 시간은 유효한 사용자명을 안정적으로 나타냅니다. 간단한 스크립트를 통해 일반적인 기업 명명 패턴(firstname.lastname, flastname 등)의 단어 목록에 대해 열거를 자동화할 수 있습니다.


CVE-2026-8793과의 공격 체인

이 발견은 2단계 공격의 첫 단계로 사용될 때 가장 큰 영향력을 발휘합니다:

  1. 1단계 (CVE-2026-8794, 본 발견) — 인증 응답 시간을 측정하여 유효한 PaperCut NG 계정 이름 목록을 구축합니다. 기업 환경에서는 공개 소스(LinkedIn, 회사 웹사이트, 이메일 서명)에서 얻은 firstname.lastname 조합의 짧은 단어 목록으로 충분한 경우가 많습니다.

  2. 2단계 (CVE-2026-8793) — 확인된 유효 계정에 대해 무제한 비밀번호 시도를 수행합니다. 속도 제한이나 잠금이 없으므로 자격 증명 스터핑 또는 비밀번호 스프레이 공격을 완전히 온라인 상태에서 전속도로 수행할 수 있습니다.


영향

TCP/9191에 네트워크 접근 권한이 있는 인증되지 않은 공격자는 다음을 수행할 수 있습니다:

  • 주어진 사용자명이 PaperCut NG에 등록되어 있는지 여부를 안정적으로 판별
  • 경고나 잠금을 유발하지 않고 유효한 사용자명 목록 구축
  • 이 목록을 CVE-2026-8793을 통한 완전한 자격 증명 탈취의 첫 단계로 사용

일반적인 기업 배포 환경에서 PaperCut 사용자명은 Active Directory 계정을 그대로 반영합니다. 따라서 확인된 유효한 PaperCut 사용자명은 확인된 유효한 도메인 계정 이름이기도 하며, 정찰 가치가 PaperCut 자체를 넘어 확대됩니다.


해결 방안

관리자를 위한 조치 (임시 완화):

  • TCP/9191에 대한 네트워크 접근을 신뢰할 수 있는 관리 호스트로만 제한
  • PaperCut NG 앞에 로그인 엔드포인트에 속도 제한을 적용하는 리버스 프록시 또는 WAF 배포
  • 가능한 경우 추측이 어려운 비표준 사용자명 형식 사용

공급업체를 위한 조치:

제출된 사용자명이 어떤 계정과도 일치하지 않을 때 상수 시간 더미 bcrypt 비교를 수행하여, 계정 존재 여부와 관계없이 응답 시간이 동일해지도록 보장합니다:

root@kitploit:~
# Pseudocode — constant-time authentication pattern
user = db.find_user(username)
if user:
    valid = bcrypt.verify(password, user.password_hash)
else:
    bcrypt.verify(password, DUMMY_HASH)  # always run, result discarded
    valid = False

이는 인증 흐름에서 CWE-208을 완화하기 위한 잘 정립된 패턴입니다.


타임라인

날짜이벤트
2026년 5월 9일PaperCut 보안 팀에 초기 보고서 제출
2026년 5월 10일확인 응답 수신
2026년 5월PaperCut(CNA)이 CVE-2026-8794 배정

참고 자료

  • cve.org의 CVE-2026-8794
  • CVE-2026-8793 — 연계 취약점
  • CWE-208: 관측 가능한 타이밍 불일치
  • 비밀번호 타이밍 공격 — OWASP
  • PaperCut NG 제품 페이지

책임 있는 공개 원칙에 따라 공개되었습니다. 전체 기술 세부 정보는 공개 전에 PaperCut 보안 팀과 공유되었습니다.

연구자: Vivien LEBAS — @Hazaz

도구 다운로드
조건최소 (s)최대 (s)평균 (s)표준 편차
존재하는 계정 (admin)2.082.192.130.031
존재하지 않는 계정 (zz_doesnotexist_zz)0.180.240.210.018
차이~1.92s
2026년 8월패치 릴리스 — PaperCut NG 26.0.3
2026년 8월공급업체와 협력하여 공개 공지