Сформирован (https://lists.gnu.org/archive/html/bug-wget/2019-04/msg00015...) корректирующий релиз GNU Wget 1.20.3 (http://www.gnu.org/software/wget/), программы для автоматизации загрузки контента с использованием протоколов HTTP и FTP. В новом выпуске устранена уязвимость CVE-2019-5953 (https://security-tracker.debian.org/tracker/CVE-2019-5953), которая может привести (https://git.savannah.gnu.org/cgit/wget.git/commit/?id=692d5c...) к переполнению буфера при возвращении сервером специально оформленных данных в многобайтовой кодировке. Не исключается (https://bugzilla.redhat.com/show_bug.cgi?id=1695679) возможность использования уязвимости для организации выполнения кода. Изначально проблема устранена в выпуске 1.20.2, но в исправлении разработчики забыли убрать (https://git.savannah.gnu.org/cgit/wget.git/commit/?id=562eac...) отладочные вызовы, поэтому следом сразу выпущен релиз 1.20.3.URL: https://lists.gnu.org/archive/html/bug-wget/2019-04/msg00015...
Новость: https://www.opennet.me/opennews/art.shtml?num=50466
> переполнению буфераХм... что-то не характерно для программ, написанных на си. Тут что-то не так. Обычно таких уязвимостей в си-программах не бывает.
Со всей ответственностью заявляешь? Много писал на Си?
Мне кажется, это был сарказм.
Вот взял и лишил нас попкорнового зрелища. Айтишники без ч/ю это так забавно.
Вам кажется.
Да какой сарказм - очередное _тонко_ завуалированное намекание, что "С/С++ остой, устарели, всем срочно писать на модных и безопасных вот вчера прямо придуманных языках!". Ну, есть еще вероятность, что предложит писать не на модноязыках, а наоборот - на каком-нибудь Обероне, потому что "великiй ВиртЪ всё это предвидел!", но - маленькая.
Не надо скудоумых фантазий, просто возьми C#!
> Не надо скудоумых фантазий, просто возьми C#!Насколько я понимаю, на никсах с шарпами не сложилось. Хотя давно уже .NET в опенсорсе.
> Насколько я понимаю, на никсах с шарпами не сложилось.все с ними сложилось, с нынешней дистанции не видно разницы в возрасте между mono и ms'овской реализацией.
Просто никсы оказались ненужны разработчикам *на* C# - у них-то под виндой все и так неплохо получается. Вряд ли и .core что изменит, это для пользователей wsl придумано, не для людей.
>> переполнению буфера
> Хм... что-то не характерно для программ, написанных на си.И что Вы предлагаете для решения этой проблемы? Переписать на rust, js или другой безопасный язык? А существуют ли в природе вообще эти безопасные языки? Очень сложный вопрос, на который я не знаю ответа. Может эксперты знают ответ на этот вопрос?
Для Си есть набор техник препятствующих переполнениям. Другое дело, что стоимость этих подходов мешает производительности. А так то можно использовать и вообще какую-то виртуальную машину.
А какие? Хочу просветиться, на Си писать
>Для Си есть набор техник препятствующих переполнениямАга, просто супертехника - просто писать код _правильно_.
Так не бывает, и где-то в районе хабра даже попадались статьи, почему.
На пальцах, при написании кода работает "спекулятивное" мышление. Программист пропускает некоторые "нюансы" просто потому что не видит. Не видит "неправильного", увлёкшись как раз созданием "правильного".
Отсюда как раз вытекает необходимость покрывать код тестами: с точки зрения инженера они описывают, как *должно* работать. (И как ломаться.) Т.е. "модель".
В силу первого параграфа, написать сразу "правильные" тесты также проблематично. Поэтому, процесс — итеративный. "Архитектор" (в других сферах деятельности обычно называется "инженер") изначально должен озаботиться, чтобы процесс ("допилил код — дописал тест") таки сходился. (* Выбор языка/языков под задачу — тоже часть проектирования.)
* И в этом кстати формальное обоснование, почему "глючные комбайны" не работают примерно всегда. Потому что тупо не "свести".
Вот старая добрая модель водопада такое глюкло системно фиксила чаще, чем новомодные скрамы и прочие агиле, когда "баги будем фиксить потом, сейчас главное добавить ещё одну ну очень как нужную фичу".
Ни одна "модель" не обезопасит тупости низкоквалифицированного персонала.
> Ни одна "модель" не обезопасит тупости низкоквалифицированного персонала.Два чая этому Анонимусу.
Хватит уже фапать на тесты! Только бестолкушки вроде вас, не особо высокой квалификации, наивно думают, что тесты от чего-то там защитят.
Тест - это *ровно такая же программа*, со своими недостатками, утечками, неполнотой и прочим. Написать 100% гарантирующий тест - практически нереально, он стоит 10-кратно по ср. с покрываемым кодом. Поэтому вы либо пишете "недотесты" (очевидно, на***ер не нужные), либо не пишете вообще.
Ага, и желательно верхними конечностями.
> Изначально проблема устранена в выпуске 1.20.2, но в исправлении разработчики забыли убрать отладочные вызовы, поэтому следом сразу выпущен релиз 1.20.3.Как-то непрофессионально звучит. Но есть и "профессионалы", у которых вообще был бы notabug в такой ситуации.
А у вас негров линчуют!
Как майнтейнер wget в альте (кстати, обновка убежала вскоре после апстримного анонса) могу отметить, что после того, как wget взялись шевелить -- в него посадили несколько неприятных дырок (да, после указания на них сразу бросились фиксить, но не порадовало).
wget давно пора переписать на Go/Rust - и даже runtime с собой таскать не жалко, ибо им качают огромные файлы.
Ядро себе на Go/Rust перепиши...
наши программисты работают...
https://www.redox-os.org/
ну или так: https://www.reddit.com/r/rust/comments/b8qy70/my_new_project.../
> наши программисты работают...
> https://www.redox-os.org/
> ну или так:
> https://www.reddit.com/r/rust/comments/b8qy70/my_new_project.../"Как сказала молоденькая Керо королю Вриданку при их первом свидании - 'Недурная штучка, но есть ли у неё какое-то практическое применение?'" (с) Золтан Хивай
лет через 10 будет ясно
> лет через 10 будет ясноНа самом деле, если без трололо, как раз на утилитах Rust и имеет смысл оттачивать - естественно, не меняя майнстрим, а форкая для желающих в перманентный тестинг. С теми же coreutils поиграть. Опять же, проекты типа Oxidation уместны. И т.п. А вот тогда можно будет постепенно смотреть, насколько этот самый Rust из перспективных (всяко интереснее Go, разумеется) годится в продакшен чего-то сурьезного.
я про 10 лет сказал реально без трололо. Считаю что до некоего условно юзабельного состояния эту RedoxOs раньше не осилят, если только туда кто-то не вольет бабла.
А насчет утилит, то в GNOME уже пишут.
> я про 10 лет сказал реально без трололоЭто я про ядро немного тролльнул. Дабы выказать отношение к "всё прямщаз переписать на <новый модный ЯП>, С/C++ напамойкуистории111!".
Да что спорить с этими педеRustами...
> Да что спорить с этими педеRustами...Деточка, ты со своими гомофобскими ассоциативными неологизмами такой же шлак, как и моднофанатики: с Rust работает множество адекватных людей, как развивающих сами языки, так и использующих их там, где это целесообразно.
> wget давно пора переписать на Go/RustНа тебе:
https://godoc.org/github.com/u-root/u-root/cmds/wget
https://github.com/jaytarang92/goget
https://github.com/laher/wget-go
На хрусте сам поищи, на сегодня лимит бесплатного гугления исчерпан.
Только вот всем пофик на такие уязвимости.
wget/curl/fetch используются редко, и в основном с вполне определёнными серверами (а не какими попало), таскать жуткий раст ради мифической безопасности - бесполезная трата времени.
ваши "горасты" только и нужны тем, кто пишет эти языки. Есть нормальный, промышленный Ди - бери, да пиши.
wget устарел к сожалению, всё чаще требуется curl.
или aria2)) часто вижу в разных дистрах.
> wget устарел к сожалению, всё чаще требуется curl.Совершенно разные инструменты, изначально рассчитанные на разные области применения. Перекрываются разве что в самом востребованном хомячками кейсе — выкачать из веба один файл.
А в чём разница?
> А в чём разница?Ентерпрайсно. https://www.opennet.me/opennews/art.shtml?num=50404