Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

False positive: Full server-side request forgery

Ouverte
#20,093 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
security

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

false-positive

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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de github/codeql

Toutes les issues de github/codeql

Issues similaires

Plus d'issues Security

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.