False positive: Full server-side request forgery
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par la requête py/full-ssrf et reproduisez les exemples Python signalés à l’aide de request.url.replace et urllib.parse.urljoin. Comparez leurs alertes avec l’exemple accepté de concaténation de chaînes, puis vérifiez que les mesures d’atténuation valides pour la construction d’URL sont reconnues sans supprimer les véritables détections de SSRF.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Description of the false positive
I have seen alerts for "Full server-side request forgery" (id: py/full-ssrf), even though the code has a valid mitigation in place. CodeQL also isn't recognizing other valid mitigations for this vulnerability.
For example, given this code:
url = request.url.replace(request.host_url, "my-expected-host-url")
resp = requests.request(
url=url,
)
As you can see, this code is already using request.url.replace to control the requested URL and ensure that malicious requests cannot manipulate the destination of the request. However, CodeQL does not recognize this method as a valid mitigation for SSRF.
I also tried:
from urllib.parse import urljoin
url = urljoin("my-expected-host-url", request.path)
CodeQL does not accept this approach either.
The only approach that CodeQL accepts is string concatenation:
url = "my-expected-host-url" + request.path
Having to use string concatenation instead of urljoin is not ideal.
- Langage dominant
- CodeQL
- Étoiles
- 10.1k
- Forks
- 2.1k
- Merge moyen
- 2 j 16 h
- PR mergées (30 j)
- 143
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de github/codeql
-
agentic-workflows
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
false-positive javascript
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
-
C#: cs/simplifiable-boolean-expression false positive on Nullable<bool> compared with a literal Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
false-positive
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Toutes les issues de github/codeql
Issues similaires
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
canonical/paas-charm#368 · 1 commentaire ·
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
palladius/rails8-app-on-gcp#142 ·
-
addition to tracking list Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
StevenBlack/hosts#3256 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
corsairdev/corsair#1764 ·
-
oblt-aw/detector/security
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100