История изменений
Исправление proud_anon, (текущая версия) :
Пришлось идти по ссылке, чтобы узнать, как это уязвимость в алгоритме может приводить к целочисленному переполнению.
Оказалось, уязвимость в реализациях. Только поскольку все они списывались с одного и того же сильно оптимизированного алгоритма, который никто не осилил, в них всех уязвимость.
Однако, к счастью, проявляется она везде по-разному. Данные для атаки надо отдельно конструировать для конкретной атакуемой релизации.
P.S.Вот поэтому в современные языки программирования встраивают защиту от манипуляци с произвольными регионами памяти. А в некоторые ещё и защиту от overflow.
P.P.S.Интересно, что будет с реализацией go-lz4.
Исходная версия proud_anon, :
Прищлось идти по ссылке, чтобы узнать, как это уязвимость в алгоритме может приводить к целочисленному переполнению.
Оказалось, уязвимость в реализациях. Только поскольку все они списывались с одного и того же сильно оптимизированного алгоритма, который никто не осилил, в них всех уязвимость.
Однако, к счастью, проявляется она везде по-разному. Данные для атаки надо отдельно конструировать для конкретной атакуемой релизации.
P.S.Вот поэтому в современные языки программирования встраивают защиту от манипуляци с произвольными регионами памяти. А в некоторые ещё и защиту от overflow.
P.P.S.Интересно, что будет с реализацией go-lz4.