File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1448,5 +1448,18 @@ def validate_auto_feeds(auto_data):
14481448 if not (url .startswith ("https://" ) or url .startswith ("http://" )):
14491449 rejected += 1
14501450 continue
1451+ # FIX BUG-AUTOFEEDS-CTRL: Control-Zeichen in URLs explizit ablehnen.
1452+ # \n, \r, \t und andere C0-Controls (ord < 0x20) sowie DEL (0x7F)
1453+ # haben in einer http(s)-URL nichts verloren. urllib faengt das
1454+ # heute mit "InvalidURL: nonnumeric port" ab, aber:
1455+ # - die Diagnose passiert erst beim Fetch (spaeter, schwerer zu
1456+ # finden), nicht beim Schema-Check
1457+ # - kommt mal ein anderer Fetcher (requests, httpx) zum Einsatz,
1458+ # der CRLF nicht out-of-the-box rejected, ist der Schutz weg
1459+ # Explizit hier ablehnen = Defense-in-Depth konsistent zu den
1460+ # anderen Schema-Checks oben.
1461+ if any (ord (c ) < 0x20 or ord (c ) == 0x7F for c in url ):
1462+ rejected += 1
1463+ continue
14511464 accepted .append ({"name" : name , "url" : url })
1452- return accepted , rejected
1465+ return accepted , rejected
You can’t perform that action at this time.
0 commit comments