HTTP runner defaults to verify=False, disabling TLS certificate validation (CWE-295)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
Direzione di ricerca
Inizia in contrib/runners/http_runner/http_runner/http_runner.py, nel costruttore dell’HTTP runner intorno alla riga 203, e verifica come l’argomento verify viene passato alle richieste in uscita. Conferma che il valore predefinito convalida i certificati TLS, mentre verify=false rimane disponibile in modo esplicito, quindi esegui i test esistenti dell’HTTP runner, se disponibili.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
The HTTP runner (http_runner) defaults to verify=False for all outbound HTTP requests, disabling TLS certificate validation. This makes any action using the HTTP runner vulnerable to man-in-the-middle attacks by default.
Affected File
contrib/runners/http_runner/http_runner/http_runner.py (line 203)
def __init__(
self,
url=None,
method=None,
body="",
params=None,
headers=None,
cookies=None,
auth=None,
timeout=60,
allow_redirects=False,
proxies=None,
files=None,
verify=False, # <-- TLS verification disabled by default
username=None,
password=None,
url_hosts_blacklist=None,
url_hosts_whitelist=None,
):
Impact
The HTTP runner is one of the most commonly used runners in StackStorm. Any action using core.http or the HTTP runner will skip TLS certificate validation unless the user explicitly passes verify=true. This means:
- Connections to HTTPS endpoints do not verify the server's certificate chain
- An attacker in a network position to intercept traffic can perform man-in-the-middle attacks
- Credentials, API tokens, and sensitive payloads sent via the HTTP runner can be intercepted
This is particularly concerning in datacenter and infrastructure automation contexts where the HTTP runner is used to interact with management APIs (e.g., cloud providers, network devices, internal services).
Recommended Fix
Change the default to verify=True:
def __init__(self, url=None, method=None, ..., verify=True, ...):
Users who need to disable verification for specific endpoints (e.g., self-signed certs in lab environments) can still pass verify=false explicitly. This follows the principle of secure-by-default.
If backward compatibility is a concern, consider:
- Adding a deprecation warning when
verify=falseis used without being explicitly set - Adding a configuration option in
st2.confto control the default globally
References
- CWE-295: Improper Certificate Validation
- Discovered via manual code review
- Lingua principale
- Python
- Stelle
- 6.5k
- Fork
- 788
- Merge medio
- 1m
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di StackStorm/st2
-
yaml.FullLoader used instead of SafeLoader in pack metadata parsing (CWE-502)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
StackStorm/st2#6393 · 1 commento ·
-
Git worktree directories created with chmod 777 (CWE-732)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
StackStorm/st2#6392 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
StackStorm/st2#6387 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
StackStorm/st2#6391 ·
-
CORS middleware reflects Origin with Allow-Credentials, enabling cross-origin attacks (CWE-346)Forse già presa @R-zin l’ha presa 6 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
StackStorm/st2#6390 ·
Tutte le issue di StackStorm/st2
Issue simili
-
dependencies feature github_actions good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
wemake-services/wemake-django-template#3149 ·
I maintainer di solito rispondono entro 1 giorno
-
[request] vsg/1.1.16Apertaupstream update
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
conan-io/conan-center-index#31142 ·
I maintainer di solito rispondono entro 1 giorno
-
area:core bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
request-theme
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 70/100
LizardByte/ThemerrDB#8877 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area/install-update comp/gateway P0 sweeper:risk-compatibility type/bug
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 72/100
NousResearch/hermes-agent#135997 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno