Quando un carattere può riavviare un iPhone: il curioso caso del Telugu 🔐📱 Nel 2018, una sequenza di caratteri della scrittura Telugu riusciva a mandare in crash alcuni dispositivi Apple. La stringa incriminata appariva più o meno così: జ్ఞా Sembra un carattere esotico e innocuo. In realtà, dietro quella rappresentazione c'era una sequenza Unicode composta da più code point: U+0C1C U+0C4D U+0C1E U+200C U+0C3E Il problema non era quindi “il carattere Telugu” in sé. Era il modo in cui il sistema operativo interpretava, componeva e renderizzava quella sequenza. 🧩 Perché è interessante dal punto di vista della cybersecurity? Perché è un ottimo esempio di una classe di problemi spesso sottovalutata: il testo è una superficie d'attacco. Quando visualizziamo una stringa, dietro le quinte intervengono parser, normalizzatori, font engine, motori di shaping e componenti grafiche. Una sequenza apparentemente innocua può quindi attraversare una catena complessa di software prima ancora di essere “semplicemente visualizzata”. Nel caso Telugu, il problema coinvolgeva CoreText, il framework di Apple responsabile anche dell'elaborazione e del rendering del testo. Una particolare sequenza Unicode poteva provocare una corruzione della memoria e il conseguente crash. Apple risolse il problema con iOS 11.2.6. 🔎 La lezione per chi si occupa di security Non pensiamo sempre agli input come: SQL → XSS → Command Injection Un input può essere semplicemente: una stringa Unicode. E questo apre una Mehr sehen