V OpenBSD byla zakázána používání nulových znaků v shell skriptech

Theo de Raadt přidal změnu, která zakazuje použití znaku s nulovým kódem v shell skriptech zpracovávaných výchozím příkazovým interpretem ksh. Přítomnost nulových znaků ve skriptech nyní povede k ukončení provádění s výstupem chyby, kromě případů, kdy jsou umístěny mezi daty připojenými na konci souboru za kódem. Změna je součástí větve OpenBSD-Current, na jejímž základě bude vytvořen release OpenBSD 7.6.

Je poznamenáno, že taková změna vyloučí nejasnosti chování spojené se zpracováním nulového znaku v kódu napsaném v jazyce C a používajícím řetězce, kde je nulový byte použit pro indikaci konce řetězce. Studium zpracování nulového znaku v různých shellech ukázalo, že v každém z nich bylo zjištěno jeden nebo více případů, kdy nulový byte ve vstupních datech nebo obsahu proměnných vedl k odlišnému chování než v jiných shellech. Například některé shelly jej ignorovaly, některé jej nahradily mezerou a některé ukončily další analýzu skriptu nebo přerušily jeho provádění.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster