URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 138882
[ Назад ]

Исходное сообщение
"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапись произвольных файлов"

Отправлено opennews , 05-Янв-26 12:19 
Доступен выпуск проекта GNU Wget2 2.2.1, развивающего переписанный с нуля и  полностью  переработанный вариант программы для автоматизации рекурсивной загрузки контента GNU Wget. Wget2 предоставляет набор дополнительных опций, поддерживает загрузку в несколько потоков, позволяет использовать доступную функциональность через библиотеку libwget, поддерживает протоколы HTTP/2 и TLS 1.3, даёт возможность загружать только изменившиеся данные, может сохранять данные с серверов потокового вещания, корректно обрабатывает интернационализированные доменные имена и может перекодировать загружаемое содержимое.  Утилита wget2 поставляется под лицензией GPLv3+, а библиотека под LGPLv3+...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=64561


Содержание

Сообщения в этом обсуждении
"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 12:19 
> отсутствие должной проверки файловых путей

Никогда такого не было и вот опять


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 12:56 
> Wget2 ... переписанный с нуля и полностью переработанный вариант ... уязвимость, допускающая перезапись произвольных файлов.

Получается, в исходном непереписанном вгете этого не было, а после переписывания - появилось?!


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 17:24 
Ребят, когда качаешь через Wget/Wget2 (с обычного https-сайта), провайдер не видит что скачиваешь?

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено bergentroll , 06-Янв-26 11:32 
URL видит, содержимое не видит. От скачивания броузером особо не отличается.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 06-Янв-26 13:20 
а чем url внутни http, отличается от содержимого? парочкой символов перевода строки..а, если https?

> От скачивания броузером особо не отличается.

в любом браузере есть опция экспорта запроса в curl/wget и тд, такой запрос вообще с точность до байта эквивалентен


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено bergentroll , 06-Янв-26 15:15 
> а чем url внутни http, отличается от содержимого?

Вы правы, URL тоже зашифрован. Снаружи только сокет, на который идёт запрос.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 07-Янв-26 11:36 
> провайдер не видит что скачиваешь?

Клоудфлуря всё видит.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 06-Янв-26 02:49 
> Никогда такого не было и вот опять

Нестареющая классика жанра :)


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 12:20 
Этих вгетов развелось еще... Подскажите, какой самый трушный и в чем разница?

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 13:02 
Ни тот, ни другой на паскале не написан.

> без проверки фактического размера записываемых данных

В паскале есть ключ компиляции array range check: в зависимости от ситуации делает проверку во время компиляции или при выполнении программы. В си - есть что-то подобное? Если есть, почему программисты об этом не знают? Если нету (а паскаль так-то постарше си будет) - почему никто из программистов не догадался добавить опцию в компилятор?


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 13:20 
> В си - есть что-то подобное?

Пф... ну у тебя и требования!

> Если есть, почему программисты об этом не знают?

Типикал Сишник даже стандарт не читал)

>  Если нету (а паскаль так-то постарше си будет) - почему никто из программистов не догадался добавить опцию в компилятор?

Ты еще спроси когда СИшники осилили добавить boolean в язык))
Подсказка в С23.
Всего 50 лет ушло на то, что уже было в ALGOL 60.

Думаю еще через лет 20 они добавят data type String чтобы перестать каждый раз бегать в поискать null-terminator, терять его и получать очередную CVE.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено 12yoexpert , 05-Янв-26 14:26 
> Ты еще спроси когда СИшники осилили добавить boolean в язык))
> Подсказка в С23.

вся суть маркетинга растосекты. сходил бы ты в гугл что ли

тебя ещё в проекте не было, когда в си добавили бул. просто на твоих сельских курсах вайтишников ни один инфоцыган об этом не знает


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 14:39 
> тебя ещё в проекте не было, когда в си добавили бул.

Если ты про stdbool.h то типиКАЛ костыли для недоязычка
#define true    1
#define false    0

dii.uchile.cl/~daespino/files/Iso_C_1999_definition.pdf
7.16 Boolean type and values <stdbool.h>

Особенно пocoсным выглядит пункт 4
Notwithstanding the provisions of 7.1.3, a program may undefine and perhaps then
redefine the macros bool, true, and false.
Но для недоязыков это нормально.

А вот тебе стандарт С23, надеюсь ты умеешь читать на английском.
open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf
6.4.4.6 Predefined constants
predefined-constant:
false
true


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 16:49 
> костыли для недоязычка

Помнится, они долго не могли сообразить, что такое nil, меняя определение несколько раз. Потом приняли, что это "тождественно равно числовому нулю".


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 16:51 
P.S. макрос NULL имеется ввиду.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 17:04 
> Помнится, они долго не могли сообразить, что такое nil, меняя определение несколько раз. Потом приняли, что это "тождественно равно числовому нулю".

А определение нуля они определили))?
The macros are
NULL
which expands to an implementation-defined null pointer constant

Вообще кажется что комитет это просто сборище поехавших и наркош.
Мало того что они ввели безумное количество UB хотя можно было бы implementation-defined.
Но этого было мало, и они решили ломать уже то что работало.

До C23 было
if new_size is zero, the behavior is implementation defined (null pointer may be returned (in which case the old memory block may or may not be freed), or some non-null pointer may be returned that may not be used to access storage).

А теперь
zero-sized reallocations with realloc are undefined behavior;

̶с̶е̶л̶ ̶н̶а̶ ̶п̶е̶н̶е̶к̶ написал realloc(ptr, 0); получил UB и твоя програма превратилось в  ̶к̶у̶с̶о̶к̶ ̶к̶а̶л̶а̶ какой-то код с нарушением Conformance


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 18:22 
Продолжаем хохму:

"Dereferencing a null pointer is undefined behavior in C" - вроде нормально, рядовое UB.
...

Ноесть нюанс:

"in x86 real mode, the address 0000:0000 is readable and also usually writable, and dereferencing a pointer to that address is a perfectly valid"

На Си нельзя писать без UB.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 19:17 
> Продолжаем хохму:
> "Dereferencing a null pointer is undefined behavior in C" - вроде нормально,
> рядовое UB.

С одной стороны типа да, но с другой... у вас с 99 стандарта оно было "implementation defined".
Т.е выбор из ограниченного списка который должен быть ЗАДОКУМЕНТИРОВАН.

И тут возжа попадает под хвост и комитет yмcтвeнно oтcтaлых ayтистoв решает сделать undefined behavior.

> Ноесть нюанс:
> "in x86 real mode, the address 0000:0000 is readable and also usually
> writable, and dereferencing a pointer to that address is a perfectly valid"

Хороший нюанс) Хватит чтобы отстрелить ногу по самую опу

> На Си нельзя писать без UB.

Поэтому C in CVE is for C language (c)



"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 19:36 
> "in x86 real mode, the address 0000:0000 is readable and also usually writable, and dereferencing a pointer to that address is a perfectly valid"

А если у нас ARM?
У нас же СИшечка портабельная?
Чего адепты постоянно жужжат что "на вашем #### не поддерживается motorola 68k!!111, а вооот на СИ!"

На ARM Cortex-M за подобное MPU просто сделает Hard Fault.
Ибо нефиг.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 21:41 
> На ARM Cortex-M за подобное MPU просто сделает Hard Fault.

На каким именно? На младших M0-ках по этим адресам может быть отображено ОЗУ. Там же таблица векторов - прекрасно читается, иногда пишется (если ОЗУ).


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 14:55 
> тебя ещё в проекте не было, когда в си добавили бул.

А вот, кстати, и первый п0циэнт, который "стандарт" не читал!
И обратите внимание как быстро он с агрился.
Наверное это сегодняшний дежурный из секты растохейтеров.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Совершенно другой аноним , 05-Янв-26 16:33 
тип boolean, конечно, не осилили добавить, а тип _Bool вообще-то с C99.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 16:48 
> тип boolean, конечно, не осилили добавить, а тип _Bool вообще-то с C99.

Да, я ж написал про stdbool.h

Особенно класно в "стандарте" прописан размер типа.
An object declared as type _Bool is large enough to store the values 0 and 1.
Вот прямым тестом "а фиг его знает, главное чтобы 0-1 влез".

Ну и сверху это щедро обмазывается  ̶г̶о̶в̶н̶ макросами и дефайнами.
Но! В стандарте сказано, что если, не дай бог-машина, у вас где-то undef, то ваша программа превращается в тыкву.

Notwithstanding the provisions of 7.1.3, a program may undefine and perhaps then
redefine the macros bool, true, and false.2


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 16:55 
> Bool is large enough to store the values 0 and 1

Особенно классно, когда делают параметр Bool в многопараметрической функции из какой-нибудь библиотеки, а ты сидишь и гадаешь, а каким размером скомпилирован тот параметр, чтобы не промахнуться при обращении в список параметров?


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 17:17 
> сидишь и гадаешь

Зато не на паскале! (с)

Вооще читая что стандарт, что код удивляешься как оно вообще может работать.
И вспоминаешь байку про "программистов, дятла и конец цивилизации"))


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Совершенно другой аноним , 05-Янв-26 17:50 
>> тип boolean, конечно, не осилили добавить, а тип _Bool вообще-то с C99.
> Да, я ж написал про stdbool.h

Ну, тогда при чём тут С23. В нём только, если правильно помню, решили, что путь уже будет bool штатным ключевым словом, а не переопределяться через #define на _Bool.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 17:57 
В том что в C23 они смогли наконец то формализовать это самый бул.

Но он отличается от старого
The type bool shall have one value bit and (sizeof(bool)*CHAR_BIT)- 1

А теперь сравни это со старым
An object declared as type _Bool is large enough to store the values 0 and 1.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Совершенно другой аноним , 05-Янв-26 18:32 
> В том что в C23 они смогли наконец то формализовать это самый
> бул.
> Но он отличается от старого
> The type bool shall have one value bit and (sizeof(bool)*CHAR_BIT)- 1
> А теперь сравни это со старым
> An object declared as type _Bool is large enough to store the
> values 0 and 1.

C99 6.2.5 Types
...
2 An object declared as type _Bool is large enough to store the values 0 and 1.
...

C23 6.2.5 Types
...
2 An object declared as type bool is large enough to store the values false and true.
...

И да, в С23, кроме bool в качестве ключевых слов добавили true и false, которые теперь имеют тип bool. Так-что, наверное, Вы хотели сказать, что в С с версии стандарта С23 наконец-то появились значения true и false, а не сам тип, который, как раннее было сказано, появился ещё в С99.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 22:34 
> Ты еще спроси когда СИшники осилили добавить boolean в язык))
> Подсказка в С23.

А ты, бедненький, не знал, что сишка прекрасно обходилась (и обходится) 0 и 1?
> Всего 50 лет ушло на то, что уже было в ALGOL 60.

И? Ты уверен, что под капотом там будет не те же самые 0 и 1?


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 13:41 
>на паскале не написан

Меня вообще не это интересовало. Есть два каких-то wget. Зачем? Какой из них лучше и где глянуть сравнение?


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 14:01 
Оба хуже.

https://curl.se/wcurl/manual.html


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 14:49 
Такой же дырявый хлам
curl.se/docs/CVE-2023-38545.html

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 16:44 
Лучше всех aria2
https://github.com/aria2/aria2
https://aria2.github.io/

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено хата , 06-Янв-26 00:24 
Без поддержки socks даже через tsocks оно не нужно, в эпоху повсеместных квнвпнвлес у каждой второй бабушки.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 20:32 
Потому что в си нет массивов, в нем есть указатели.

a[i] это просто синтаксический сахар для *(a + i)


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 20:41 
Не совсем правда. Тип массива есть, но он существует только когда ты определяешь тип автоматической или статической переменной.А вот адресация внутри этого массива - да, синтаксический сахар, потому что массив всегда деградирует в указатель на первый элемент.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 21:43 
> потому что массив всегда деградирует в указатель на первый элемент.

А потом чтобы узнать "а сколько у нас элементов" приходится бегать каждый раз до конца массива.
Или лепить сбоку и хранить отдельно.



"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 06-Янв-26 01:25 
> чтобы узнать "а сколько у нас элементов" приходится бегать каждый раз до конца массива.

То есть,  с Си ты знаком очень поверхностно.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 06-Янв-26 16:40 
>> чтобы узнать "а сколько у нас элементов" приходится бегать каждый раз до конца массива.
> То есть,  с Си ты знаком очень поверхностно.

Ну скажи мне сколько символов в unicode строке.
И как их быстро посчитать.
Строки в СИ это же массивы, да?))



"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Совершенно другой аноним , 06-Янв-26 18:43 
>>> чтобы узнать "а сколько у нас элементов" приходится бегать каждый раз до конца массива.
>> То есть,  с Си ты знаком очень поверхностно.
> Ну скажи мне сколько символов в unicode строке.

вообще, как-бы, unicode бывают разные.

Если смотреть UTF-8, то там надо пройти все байты, чтобы понять сколько символов. Так-что, считай, всё-равно надо бежать до конца массива и по пути считать символы, которые могут быть и один байт, и два, и три и даже, если сильно повезёт с эмодзи и прочими редкими иероглифами, даже четыре.

Если смотреть UTF-16, то сначала там было всё здорово, число 16-ти битных слов совпадало с числом символов (если правильно помню в бытность UCS-2), но потом, пришли умные люди и придумали суррогатные пары, и теперь и их надо, по нормальному, тоже считать, пробегая до условного конца массива.

И остался UTF-32, в котором число 32-х битных слов совпадает с числом символов.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 06-Янв-26 23:08 
Э, ну вот у меня указатель на первый элемент struct {}. Как мне узнать, сколько их там? Очевидно, никак. Размер должен передаваться как то. Или обычно считать, что элемент один.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 06-Янв-26 09:31 
это просто такой helper для выделения фиксированного непрерывного объема памяти на стеке (или глобальной преаллокации при старте программы). в итоге все равно имеем указатель

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 06-Янв-26 11:09 
1-й GNU Wget и busybox wget лучше.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено aname , 06-Янв-26 12:26 
Aria2

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 12:29 
Wget2 работает с HTTPS только через GnuTLS. Фтопку такое поделие!

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 12:39 
>Wget2 работает с HTTPS только через GnuTLS. Фтопку такое поделие!

А чо так толсто-то? Правильные люди используют код исключительно написанный для GNU.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 12:48 
В итоге или сидят в консольке или на Хурде?))
Потому что х11 это не ГНУ.
И браузеры тоже.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 12:29 
GNU всегда было знаком какчества!
Буквально вчера была новость про GnuPG, которая позволяет обойти верификацию и выполнить свой код.
И вот теперь про GNU Wget...

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 14:58 
Это GNU Wget2. Он хостится в каком-то болоте, не имеющем отношения к GNU.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Фнон , 05-Янв-26 12:44 
> переполнение буфера в коде чистки имён файлов в функции get_local_filename_real(), потенциально способное привести к исполнению кода при обработке специально оформленных URL

Звучит круто!

Фикс просто обалденный
        char *fname_esc = (sizeof(tmp) < buf.length * 3 + 1)
-            ? tmp
-            : wget_malloc(buf.length * 3 + 1);
+             ? wget_malloc(buf.length * 3 + 1)
+            : tmp;
Просто перепутали местами значения в тирнарном операторе.
Код был с Jul 29, 2023

Автор и первого б̶е̶к̶д̶о̶р̶а̶ бага и его исправления Tim Rühsen.
Настоящий сидой дыд с "over 30 years of experience"
zymtrace.com/article/welcoming-tim-ruhsen/

Maintainer of GNU libidn, GNU libidn2 and GNU Wget. Contributor to GnuTLS and libmicrohttp.

Интересно за 30 лет он код научился тестировать?
Или "и так сойдет")


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено онанист , 05-Янв-26 12:53 
это ж опен сурсе
для тестирования , да и исправления,есть юзеры
тысячи глаз (тм)

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 12:58 
Зато можно с гордостью за свой код писать:
Around 2014, I began contributing to open-source projects and became (co-)maintainer of GNU Wget, GnuTLS, and GNU libidn. Two of my own projects, Wget2 and libpsl, are now packaged in almost every Linux distribution.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 13:05 
Тут явно же видно, что не в перестановке дело а в условии.

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


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 13:11 
> Наиболее вероятно при просмотре условие инвертировал для читабельности,
> а выражения местами забыл поменять.

Никто ничего не менял, код зашел одним коммитом.
gitlab.com/gnuwget/wget2/-/commit/3dc30f5f0c6f8feae97f866c537324f821ea05d6

Просто кто-то не умеет в память :)

> Как вариант - отвлекли.

Рептилоиды с Нибиру?)


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 19:40 
> Никто ничего не менял, код зашел одним коммитом.

Ты явно с Нибиру.

Как то что ты говорил опровергает то, что писал я?

У тебя нибирушная логика.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 16:02 
> Автор и первого б̶е̶к̶д̶о̶р̶а̶ бага и его исправления Tim Rühsen.

Немцы те еще бекдорщики :)


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 12:54 
> переполнение буфера потенциально способное привести к
> исполнению кода

Никогда такого не было и вот опять!

> при обработке специально оформленных URL на загружаемых страницах

А можно дропать юзверю хомяка?
Офгенное решение чтобы всякие хитрецы не выкачивали сайт wget'ом.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 13:08 
> Например, атакующий может перезаписать содержимое ... ~/.bashrc и добиться выполнения своего кода в системе

а в bashrc пишем известную команду по зачиствке хомяка...


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 06-Янв-26 23:24 
>    Офгенное решение чтобы всякие хитрецы не выкачивали сайт wget'ом.

Удивительная жадность.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 13:09 
А мне кажется, сишники специально делают CVE в своих опусах, ради чёрного пиара своих продуктов. Это же тоже пиар. Больше CVE - больше людей узнают о твоём GNU творении из новостей! Вот так вот!

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 13:29 
Зачем было переписывать? Юзаю 1.25 и никаких проблем.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 13:39 
> Зачем было переписывать? Юзаю 1.25 и никаких проблем.

Ты реально думаешь, что wget 1 был менее дыряв?
У меня для тебя плохие новости))

CVE-2019-5953 9.8 CRITICAL
GNU Wget 1.20.1 and Earlier Buffer Overflow Vulnerability Leading to DoS or Remote Code Execution

CVE-2014-4877 9.3 HIGH - Public exploit exists!
GNU Wget Absolute Path Traversal via FTP LIST Response Allows Remote Code Execution Before 1.16

CVE-2017-13089 9.3 HIGH - Potential exploit
GNU Wget: stack overflow in HTTP protocol handling

CVE-2017-13090 9.3 HIGH
GNU Wget: heap overflow in HTTP protocol handling

CVE-2024-38428 9.1 CRITICAL
GNU Wget url.c Userinfo Semicolon Handling Vulnerability Leading to URI Parsing Errors


Это только со score 9 и больше.
И опять Buffer Overflow, stack overflow, heap overflow


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 20:52 
Эээ, а чё ему такие высокие очки накидали? Это юзерспейнсая программа, не требующая особых привилегий, а скор такой, будто баг в ядре нашли или в openssl.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 15:42 
Прямо-таки парад найденных в СПО уязвимостей. Косвенно это говорит о том, что ведется серьезная работа по уменьшению его дырявости, под будущую кибервойну. Можно на уровне сервисов внедрить _более безопасный_ раст, но  остаться с дыркой в какой-нибудь крон джобе, использующей вгет.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Fyji , 05-Янв-26 17:39 
> Прямо-таки парад найденных в СПО уязвимостей.

Системы автоматического поиска проблем просто стали намного круче.
Стали доступны не только спецам.
И внезапно оказалось что диды код писать не умели.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 19:27 
Системы эффективно применить тоже нужны спецы. В конечном счете все сводится к наличию ресурсов на все это.

> внезапно оказалось что диды код писать не умели

Спойлерну: отцы, дети и внуки тоже не умеют. Точнее умеют, но не будут. То есть будут, но при финансировании которого не будет, поэтому не будут ))


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 21:29 
> диды код писать не умели

Или наоборот - умели? Как история с пейджерами.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 17:33 
wget2 - это то ещё говно. В нём даже базовые фичи вроде SOCKS5 не поддерживаются, зато куча ненужных свистоперделок добавлена.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено kusb , 05-Янв-26 21:00 
Блин, эти уязвимости удивительно похожи, такое ощущение, что с ними можно справиться централизованно.

"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 05-Янв-26 21:28 
> с ними можно справиться централизованно

Можно. Но почему-то не нужно.


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 07-Янв-26 22:14 
> поддерживает протоколы HTTP/2 и TLS 1.3,

Остали на 10 лет, однако. Где поддержка HTTP/3, Web 3.0 и вот это все?


"В GNU Wget2 2.2.1 устранена уязвимость, допускающая перезапи..."
Отправлено Аноним , 07-Янв-26 23:09 
> Где поддержка HTTP/3, Web 3.0 и вот это все?

Уже не актуально, ты отстал от прогресса.