Рубрика «баг» - 2

Браузер и числа с плавающей запятой - 1
Изображение — www.freepik.com

Несколько лет назад я много думал и писал о математике с плавающей запятой. Это было очень интересно, и в процессе исследований я многое узнал, но иногда я долгое время не использую на практике все эти полученные тяжким трудом знания. Поэтому мне необыкновенно приятно каждый раз, когда приходится работать над багом, требующим различных специализированных знаний. В статье я расскажу три истории о багах чисел с плавающей запятой, изученных мной в Chromium.

Часть 1: нереальные ожидания

Баг назывался «JSON некорректно парсит 64-битные Integer»; поначалу это непохоже на проблему с плавающей запятой или браузером, но его отправили на crbug.com, поэтому меня попросили взглянуть. Проще всего воссоздать его, открыв инструменты разработчика Chrome (F12 или Ctrl+Shift+I) и вставив в консоль разработчика следующий код:

json = JSON.parse(‘{“x”: 2940078943461317278}’); alert(json[‘x’]);

Вставка неизвестного кода в окно консоли — замечательный способ оказаться взломанным, но этот код был настолько прост, я смог понять, что он не вредоносный. В отчёте о баге автор любезно указал свои ожидания и реальные результаты:
Читать полностью »

Когда в личные сообщения Вконтакте тебе пишет незнакомый человек, который точно уверен в каком районе ты находишься в данный момент, — приятного мало. Сразу активируется паранойя, и мозг начинает искать возможные способы это объяснить. Мое местоположение ему действительно подсказал ВК. Давайте разберемся каким образом.

«Особенность» Вконтакте - 1

Читать полностью »

«Особенности» Тиндера - 1

Informative

Бывают такие баги, которые, вроде как и угрозу безопасности не несут, но вред все-таки могут причинить. Интереснее всего, когда их и править никто не хочет, но и открыто о них нам не говорят. Часто в таких случаях разработчики утверждают, что это не баг, а фича. Именно о двух таких фичах в Тиндере и пойдет речь в посте.

Внимание! Перед тем, как рассказать аудитории Хабра об этих проблемах, мной были предприняты попытки сообщить о них разработчикам через платформу HackerOne. Разработчики посчитали это все “не багами”, а репорты были закрыты в статусе “informative”, дважды!

Читать полностью »

Сегодня мне попался весьма любопытный баг: Docker for Windows не запустится, если у вас запущена панель управления драйвером Razer Synapse.

Но интереснее всего то, почему так случилось…

Как ошибка из 2009 вызывает конфликт Docker for Windows и Razer Synapse - 1Читать полностью »

Доброго времени суток.

После последнего обновления Скайпа (версия 8.51.0.92) под Linux (Mint, оболочка Cinnamon), столкнулся с неприятным багом при переключении раскладки языка, в поле ввода сообщения: при нажатии Alt+Shift, фокус, с поля ввода, переходит к верхней панели окна (меню).

За несколько дней активного использования, это стало неимоверно бесить. Коллега, использующий Ubuntu, говорил что баг также проявляется и там. Проблему удалось поправить (костыльно), решил поделиться с сообществом, надеюсь кому-нибудь поможет.
Читать полностью »

Для проведения исследований работы программ и ОС существует очень много различного инструментария. Виртуальные машины, IDE, умные блокноты, IDA, radare, hex-редакторы, pe-редакторы, и даже одних утилит Sysinternals больше сотни — все это сделано для облегчения многих рутинных операций. Но иногда наступает момент, когда ты понимаешь, что среди всего этого многообразия тебе не хватает небольшой утилитки, которая просто сделает банальную и нехитрую работу. Можно написать скрипты на питоне или Powershell на коленке, но нередко на такие поделки без слез не взглянешь и с коллегами не поделишься.

Недавно такая ситуация снова наступила у меня. И я решил, что пора просто взять и написать аккуратную утилиту. О самой утилите я расскажу в одной из ближайших статей, но об одной из проблем во время разработки расскажу сейчас.

Ошибка проявляется так – если в WPF приложении, в стандартный контрол TextBox воткнуть много строк текста, то вызовы функции GetLineText() начиная с некоторого индекса будут возвращать неправильные строки.

Баг при работе TextBox.GetLineText в .NET WPF - 1

Неправильность заключается в том, что хоть строки будут из установленного текста, но расположенные дальше, фактически GetLineText() будет просто пропускать некоторые строки. Ошибка проявляется при очень большом количестве строк. Так я ее и встретил – попытался отобразить в TextBox’е 25 мегабайт текста. Работа с последними строками выявила неожиданный эффект.

Гугл подсказывает, что ошибка существует с 2011 года и Microsoft не особо торопится что-то исправлять.
Читать полностью »

Критическая уязвимость в Xfce, способная привести к выходу из строя монитора, до сих пор не исправлена - 1

Xfce — легковесное окружение рабочего стола для Linux и других Unix-like систем, любимое многими за стабильность и богатые возможности настройки. К сожалению, развитие проекта идёт довольно медленно, последняя мажорная версия (Xfce 4.12) вышла более двух лет назад, а многие баги живут годами.

Полтора года назад один из пользователей столкнулся с багом, который привёл к частичной потере работоспособности монитора. Естественно, он оставил багрепорт: «Экран загрузки по умолчанию привёл к повреждению моего монитора!»Читать полностью »

Поставил перед собой задачу — обойти аутентификацию Вконтакте. Когда ip адрес человека, который входит на аккаунт vk меняется, нужно ввести полный номер телефона. Если злоумышленник входил через телефон; пароль, то он сможет совершать действия на аккаунте. Но если он входил через email; пароль или через подмену cookies, то он не сможет совершать какие либо действия на аккаунте.

image Вся информация предоставлена исключительно в ознакомительных целях. Я не несу ответственности за любой возможный вред, причиненный материалами этой статьи.

Читать полностью »

В папки Dropbox стали возвращаться удалённые файлы. Баг исправлен - 1

Разработчики Dropbox исправили баг, из-за которого в аккаунтах пользователей стали восстанавливаться файлы, удалённые много лет назад. Теперь пользователям разрешили вторично удалить «восставшие из мёртвых» файлы. Компания обещает, что больше они никогда не появятся.

Некоторые специалисты по безопасности давно подозревали, что при удалении файлов на Dropbox они не удаляются, а хранятся на хостинге — как это происходит с якобы «удалённой» информацией на Facebook. Мол, при «удалении» файл только помечается как удалённый (ему ставится соответствующий флаг). Он исчезает из аккаунта, но продолжает храниться на сервере на всякий случай.

Dropbox уверяет, что это не так.

Согласно политике Dropbox, компания безвозвратно удаляет файлы через 60 дней после того, как пользователь нажал кнопку «Удалить». Те чудеса, которые происходят в последнее время, — якобы просто «баг».
Читать полностью »

Apple исправила баг и обвиняет Consumer Reports в неправильной методологии тестирования - 1
Та самая настройка Safari, из-за которой разгорелся спор

Две недели назад поклонников «яблочной» продукции удивила новость: новые MacBook впервые не получили рекомендацию от Consumer Reports для покупки.

Высочайшее качество ноутбуков Apple всем известно. Этой техникой пользуются лучшие хакеры, даже если приходится переустановить операционную систему. Не было ещё ни одного случая, чтобы ноутбуки не получили рекомендацию покупки Consumer Reports. Но это произошло с последней линейкой MacBook Pro из-за противоречивых результатов по времени работы от аккумулятора при открытии сайтов в браузере Safari.

Сразу закралась мысль, что тут какое-то недоразумение. Так оно и вышло — Apple нашла и исправила очень странный баг. Но теперь она упрекает «слишком умных» экспертов Consumer Reports, которым удалось проявить этот баг. Мол, у них неправильная методология. Кто прав?
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js