In OpenBSD wurde die Verwendung von Nullzeichen in Shell-Skripten verboten.

Theo de Raadt hat eine Änderung hinzugefügt, die die Verwendung von Nullzeichen in Shell-Skripten, die vom standardmäßig verwendeten Kommandointerpreter ksh verarbeitet werden, verbietet. Das Vorhandensein von Nullzeichen in Skripten führt nun zu einem Abbruch mit einer Fehlermeldung, es sei denn, sie befinden sich unter den Daten, die am Ende der Datei nach dem Code angefügt sind. Die Änderung ist Bestandteil des OpenBSD-Current-Zweigs, auf dessen Basis die Version OpenBSD 7.6 erstellt wird.

Es wird festgestellt, dass eine solche Änderung die Unsicherheit im Verhalten beseitigen wird, die mit der Verarbeitung des Nullzeichens in C-Programmen verbunden ist, die Strings verwenden, in denen das Nullbyte zur Kennzeichnung des Endes der Zeichenkette dient. Die Untersuchung der Verarbeitung des Nullzeichens in verschiedenen Shells hat gezeigt, dass jede von ihnen einen oder mehrere Fälle aufwies, in denen das Nullbyte in den Eingabedaten oder dem Inhalt der Variablen zu einem von anderen Shells abweichenden Verhalten führte. Beispielsweise ignorierten einige Shells es, andere ersetzten es durch ein Leerzeichen, während wieder andere die weitere Analyse des Skripts beendeten oder die Ausführung stoppten.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster