Comments 30
А для JB такие баги нельзя использовать?
К сожалению отрицательные значения ширины отфильтровываются логикой webkit и не доходят до проблемной функции, поэтому манипулируя шириной картинки мы можем двигать стек только в сторону младших адресов. Что делает arbitrary code execution мягко говоря затруднительным. А раз нету arbitrary code execution, то и jailbreak строить вроде как не на чем.
А нельзя подобрать достаточно большое число для ширины, чтобы после умножения и переполнения получилось отрицательное?
Проблема в том, что
— ширина в файле указывается в десятичной системе
— какую бы ширину мы не указали, хоть 1234567890 — все равно «сыграют» только первые шесть цифр, т.е. в проблемную функцию будет передано 123456 в качестве ширины
— более того, логика webkit отбрасывает значения меньше 86000 и больше 600000
С такими раскладами даже помноженная на 6 ширина не вылезет в отрицательное значение, увы.
— ширина в файле указывается в десятичной системе
— какую бы ширину мы не указали, хоть 1234567890 — все равно «сыграют» только первые шесть цифр, т.е. в проблемную функцию будет передано 123456 в качестве ширины
— более того, логика webkit отбрасывает значения меньше 86000 и больше 600000
С такими раскладами даже помноженная на 6 ширина не вылезет в отрицательное значение, увы.
А сам получившийся файл не выложите?
Вообще, способ поиска уязвимости действительно старый, но рабочий.
Вообще, способ поиска уязвимости действительно старый, но рабочий.
Попробуйте открыть в Mobile Safari ссылку codedigging.com/test.xbm
Safari по идее должен упасть
Safari по идее должен упасть
Я уже допёр, что xbm — текстовый формат и сделал себе такой файлик =)
Спасибо!
Спасибо!
Я там давал ссылки в статье на описание формата. Это древний текстовый формат придуманный суровыми линуксоидами для курсоров в X10 :) Придумывалось явно что бы было похоже на C/C++.
Я по коду в статье сначала и подумал, что это часть сишного кода для генерации файла. Но потом таки открыл описание формата. )
Ну а как у вас оно? Сафари рушит? Потому что я попробовал только на своем подопытном айфоне, да на телефоне жены :) И когда постил эти статью — стремался, если честно: а вдруг ни у кого ничего не падает, один я идиот на двух телефонах попробовал и кричу тут про «критический баг» :)
Ещё как падает =)
Кстати, iOS Simulator не падает.
Кстати, iOS Simulator не падает.
Ну и отлично, а то я уже начал волноваться :)
Ссылку на файл добавил в текст статьи.
По поводу iOS Simulator — там скорее всего совершенно другой машинный код в и состояние стека этой функции, так что может и не падать конечно.
Ссылку на файл добавил в текст статьи.
По поводу iOS Simulator — там скорее всего совершенно другой машинный код в и состояние стека этой функции, так что может и не падать конечно.
Простите, а на каком девайсе/версии iOS падает? Хочу добавить эти данные в список в статье.
Могу попробовать пропатчить соответствующую библиотеку, впилить туда проверку параметров — прямо в бинарник, машинным кодом. Я когда-то много лет назад делал такой фокус для WinRar (http://www.xakep.ru/magazine/xs/045/068/4.asp), для либы под iOS такое тоже можно сделать. Только ведь это счастье можно будет применить только на jailbreakнутых девайсах, которых от общего числа очень небольшой процент согласитесь ) Т.е. в глобальном плане самодельный патч все равно мало что изменит. Так что остается ждать обновления от Apple )
iPad mini Retina — падает :)
iPhone 5 (iOS 7.0.6) — Safari упал
Какая это по счёту уязвимость на этой неделе?
Ipad air. iOS 7.0.4 и 7.0.6. Баг присутствует.
iPad mini Retina iOS 7.0.6 — падает
Думаю, все девайсы сейчас подвержены этой ошибке. Если интересно, на 5s с последней 7.1 тоже падает.
Sign up to leave a comment.
Критический баг в CoreGraphics в iOS