Theo de Raadt hat eine Ănderung hinzugefĂŒgt, die die Verwendung des Nullzeichens in Shell-Skripten, die vom standardmĂ€Ăig verwendeten BefehlInterpreter ksh verarbeitet werden, verboten hat. Das Vorhandensein von Nullzeichen in Skripten fĂŒhrt nun zu einem Abbruch der AusfĂŒhrung mit einer Fehlermeldung, es sei denn, sie befinden sich unter den am Ende der Datei angehĂ€ngten Daten nach dem Code. Die Ănderung ist in den OpenBSD-Current-Zweig aufgenommen worden, auf dessen Basis die OpenBSD-Version 7.6 erstellt wird.
Es wird angemerkt, dass eine solche Ănderung die Unbestimmtheit des Verhaltens ausschlieĂt, die mit der Verarbeitung des Nullzeichens im C-Code verbunden ist, der Strings verwendet, bei denen das Nullbyte zur Indikation des Endes der Zeichenfolge dient. Die Untersuchung der Behandlung des Nullzeichens in verschiedenen Shells hat gezeigt, dass in jeder von ihnen ein oder mehrere FĂ€lle festgestellt wurden, in denen das Nullbyte in den Eingabedaten oder dem Inhalt von Variablen zu einem abweichenden Verhalten im Vergleich zu anderen Shells fĂŒhrte; beispielsweise ignorierten einige Shells es, einige ersetzten es durch ein Leerzeichen, wĂ€hrend andere die weitere Analyse des Skripts abbrachen oder dessen AusfĂŒhrung stoppten.
Quelle: opennet.ru
