Add new state: Unicode compatibility normalization
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne in python/ql/lib/semmle/python/security/dataflow/PathInjectionQuery.qll, insbesondere in den Zeilen 20-28, und vergleiche die bestehenden Zustände für Pfadnormalisierung und sichere Prüfungen mit dem gemeldeten Zustand für Unicode-Kompatibilitätsnormalisierung. Verwende das Diagramm des Issues, um die erforderliche Reihenfolge nachzuverfolgen; fertig ist die Aufgabe, wenn die Abfrage die Kompatibilitätsnormalisierung an der relevanten Position modelliert, ohne Fälle auszulassen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hey ,
I noticed that you are considering only two states:
- One regarding the path normalization if it is done or not before the safe check
- Second concerns the safe check.
as shown next:
However, there is a third state that is a required one: Unicode normalized. If ever a Unicode normalization is performed with a compatibility algorithm (NFKC or NFKD), the query would miss some cases precisely those ones where the Unicode normalization is not performed before the path normalization and the safe check. I draw a little chart to depict my saying:
The previous chart shows that when you consider a potential Unicode compatibility normalization, it is a required step before path normalization and safe check. If ever placed between the first two steps or after the last one, that would yield a vulnerable case that got missed due to the fact that the Unicode normalization may reintroduce unexpected special characters such as .. and /.
Regards
@Sim4n6
- Vorherrschende Sprache
- CodeQL
- Sterne
- 10.1k
- Forks
- 2.1k
- Ø Merge
- 2 T. 17 Std.
- Gemergte PRs (30 T.)
- 145
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus github/codeql
-
agentic-workflows
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
false-positive javascript
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
-
C#: cs/simplifiable-boolean-expression false positive on Nullable<bool> compared with a literal Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
false-positive
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
oblt-aw/detector/security
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
setup tools wizard offers no GitHub auth path, and setup summary doesn't recognize `gh` CLI auth Offenarea/auth comp/cli P3 tool/skills type/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
NousResearch/hermes-agent#121131 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
trailofbits/skills#330 ·
-
accepted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100