Программисты издания The Register определили структуру бага, который вызывает критический сбой в работе приложений на iOS и OS X, после получения определенной последовательности арабских символов. Уязвимость найдена в компоненте Core Text который отвечает за отображение символов на устройстве.
Браузер Safari, к примеру, и вовсе отказывается функционировать до тех пор, пока пользователь не очистит кеш web-обозревателя. Как сообщают эксперты The Register, проблема заключается в использовании компонентом Core Text целых натуральных чисел для обозначения длины строки, а также индекса массива. При получении системой отрицательного значения, оно интерпретируется как длинное число без знака, обозначающее границу массива. Сбой происходит при обращении к данному массиву другой функции, которая выходит за пределы распределенной области памяти.
Данная уязвимость была устранена разработчиками Apple в новых версиях операционных систем – iOS 7 и OS X Mavericks, однако предыдущие сборки до сих пор остаются под угрозой. Закрыть уязвимость можно с помощью твика GlyphPatch, который делает компонент Core Text невосприимчивым к данному багу.
Смотрите также: