Почему некоторые арабские символы блокируют работу приложений в iOS и OS X

28 октября 2013 |

Программисты издания The Register определили структуру бага, который вызывает критический сбой в работе приложений на iOS и OS X, после получения определенной последовательности арабских символов. Уязвимость найдена в компоненте Core Text который отвечает за отображение символов на устройстве.

Выяснена природа бага CoreText, блокирующего работу приложений в iOS и OS X

Напомним, что обнаруженная недавно уязвимость позволяет заблокировать работу приложений (браузера, iMessage и др.) на операционных системах OS X 10.8 Mountain Lion и iOS 6. Определенная последовательность арабских символов, размещенная на web-странице или полученная в виде текстового сообщения вызывает неустранимую ошибку и как минимум блокирует работу приложения.

mac-OS-X-bug

Яблык в Telegram и YouTube.

Браузер Safari, к примеру, и вовсе отказывается функционировать до тех пор, пока пользователь не очистит кеш web-обозревателя. Как сообщают эксперты The Register, проблема заключается в использовании компонентом Core Text целых натуральных чисел для обозначения длины строки, а также индекса массива. При получении системой отрицательного значения, оно интерпретируется как длинное число без знака, обозначающее границу массива. Сбой происходит при обращении к данному массиву другой функции, которая выходит за пределы распределенной области памяти.

Выяснена природа бага CoreText, блокирующего работу приложений в iOS и OS XДанная уязвимость была устранена разработчиками Apple в новых версиях операционных систем – iOS 7 и OS X Mavericks, однако предыдущие сборки до сих пор остаются под угрозой. Закрыть уязвимость можно с помощью твика GlyphPatch, который делает компонент Core Text невосприимчивым к данному багу.

Смотрите также: