False negative: missing os.exec* APIs with `sh -c` as sink in py/code-injection.
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 55/100
Direzione di ricerca
Inizia con la query py/code-injection e confronta la gestione esistente dei sink os.system e subprocess.run(shell=True) con l’esempio os.execl segnalato. Esegui l’esempio minimo e le varianti equivalenti, quindi verifica che i comandi contaminati passati tramite sh -c vengano segnalati, mentre i controlli esistenti continuino a essere coperti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description of the issue
py/code-injection flags command injection when the code uses os.system(...) or subprocess.run(..., shell=True), but it does not flag the same tainted command when it is executed through Python os.exec* APIs with sh -c.
A minimal example:
files = request.args.get("files", "")
os.execl("/bin/sh", "sh", "-c", "ls " + files)
I also tested equivalent variants (os.execlp, os.execve, and subprocess.run(["sh","-c", ...])) and they were not reported either, while the os.system and shell=True controls were reported.
Sink pattern example in the wild:
https://github.com/ziyan/ssh-otp/blob/ad23edded03ee7d198417d99457d3cfa3df814d1/ssh-otp#L90
There are also code using `python -c
https://github.com/davidfraser/dbghelper/blob/f12b91b468bb640f1cb9d19733afef7696eee9fa/dbg.py#L47
- Lingua principale
- CodeQL
- Stelle
- 10.1k
- Fork
- 2.1k
- Merge medio
- 2g 10h
- PR unite (30g)
- 134
Guida per i contributori
Apri 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 github/codeql
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
C#: cs/simplifiable-boolean-expression false positive on Nullable<bool> compared with a literal Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
false-positive
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
false-positive
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
Tutte le issue di github/codeql
Issue simili
-
documentation help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
clerk/javascript#9852 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
AiursoftWeb/AnduinOS-2#19 ·
-
[Feature]: Bump the pinned iron-proxy from 0.39.0 to 0.50.0, or let the version be overridden Apertaarea/config comp/agent P3 sweeper:risk-security-boundary type/feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
NousResearch/hermes-agent#118734 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
AXERA-TECH/ax-llm#75 ·