Skip to content

Commit a70513d

Browse files
Add files via upload
1 parent d9b4371 commit a70513d

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

scripts/netshield_common.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)