The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уязвимости в GnuPG, позволяющие обойти верификацию и выполнить свой код

28.12.2025 13:11

На проходящей в Германии конференции 39C3 (Chaos Communication Congress) раскрыты детали о 12 ранее неизвестных и остающихся неисправленными (0-day) уязвимостях в инструментарии GnuPG (GNU Privacy Guard), предоставляющем совместимые со стандартами OpenPGP и S/MIME утилиты для шифрования данных, работы с электронными подписями, управления ключами и доступа к публичным хранилищам ключей. Наиболее опасные уязвимости позволяют обойти проверку по цифровой подписи и добиться выполнения кода при обработке шифрованных данных в ASCII-представлении (ASCII Armor). Рабочие прототипы эксплоитов и патчи обещают опубликовать позднее. CVE-идентификаторы пока не присвоены.

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

Выявленные проблемы:

  • Ошибка в коде парсера зашифрованных данных, распространяемых в формате ASCII-Armor (текстовые файлы с блоком "BEGIN/END PGP ARMORED FILE"), приводящая к записи в область памяти вне границы буфера. Проблема может привести к выполнению кода при обработке в gpg специально оформленных данных. Уязвимость проявляется в функции armor_filter() и вызвана двойным увеличением счётчика "n" в цикле "for" - несмотря на указание "n++" в самом цикле, счётчик увеличивается и в теле цикла при записи данных в буфер "buf[n++]". В итоге за пределы буфера записывается лишний байт, а переменная с размером "ret_len" выставляется в значение, превышающее фактическое.
  • Возможность создания или перезаписи любого файла, насколько позволяют текущее права доступа, из-за некорректной обработки содержимого поля "filename" в пакете с данными. Уязвимость может использоваться для организации выполнения кода в системе при выполнении получателем команд "gpg --decrypt poc.enc" и "gpg poc.enc" для просмотра присланного атакующим файла poc.enc. Добиться выполнения кода можно, например, через создание файлов ~/.bash_completion или ~/.ssh/authorized_keys.
  • Возможность подмены открытого текста, показываемого пользователю при указании опции "--decrypt" и верификации с использованием отдельно поставляемых цифровых подписей (Detached Signature, создаются опцией "--detach-sig" и поставляются в отдельном sig-файле). Суть проблемы в том, что при раздельной отправке сообщения и sig-файла, атакующий, контролирующий промежуточный трафик (MITM), может внести в sig-файл изменения, после которых верификация останется успешной, но при просмоторе сообщения из sig-файла при помощи опции "--decrypt" будет выведено другое содержимое.
    
      echo Plaintext > plaintext
      gpg --detach-sig plaintext
    
      # изменение  plaintext.sig атакующим с добавлением дополнительного текста
    
      gpg --verify plaintext.sig plaintext # верифицировано
      gpg --decrypt plaintext.sig # верифицировано, но выводится другой текст
    
  • Возможность дополнения подписанного сообщения произвольными данными с сохранением успешной проверки подписи. Проблема возникает из-за обрезки данных по границе 20000 символов при вычислении хэша.
  • Некорректная проверка кодов аутентифицированного шифрования (MDC - Modification Detection Codes), позволяющая манипулировать зашифрованными пакетами так, что при расшифровке полученный контент будет обработан как другой тип пакета (например, воспринят как предназначенный для публикации открытый ключ).
  • Возможность подстановки дополнительных данных в CS-подписи (Cleartext Signature), созданные с использованием флага "--not-dash-escaped" или сконвертированные из отдельно подставляемых подписей (Detached Signature). Уязвимость может использоваться для создания у пользователя ложного впечатления о том, какие данные были фактически подписаны. Например, пользователь может загрузить из заслуживающих доверия источников корректный ключ для проверки цифровой подписи, но атакующий в ходе MITM-атаки может подменить загружаемый пользователем iso-образ и добавить в подпись к образу дополнительный хэш, таким способом, что верификация подменённого образа пройдёт успешно при наличии в системе проверочного корректного ключа.
  • Подстановка дополнительных данных в ASCII-представление CS-подписи (Cleartext Signature) через вставку символа с нулевым кодом. Уязвимость, например, позволяет вставить произвольный текст в заголовок Hash.
  • Некорректная интерпретация формата OpenPGP, из-за которой сообщение "One-Pass Signed Message" в ASCII-кодированном формате может быть обработано как сообщение "Cleartext Signature" при определённом изменении заголовка. Уязвимость позволяет заменить оригинальные подписанные данные на вредоносное содержимое, сохранив видимость успешной верификации.
  • Отсутствие явного разделения в выводе информации об успешности проверки цифровой подписи и содержимого сообщения, что позволяет создавать поддельные неподписанные сообщения, которые при выполнении "gpg --decrypt" выглядят как подлинные.
  • Возможность создания OpenPGP-сообщений, которые в gpg будут обрабатываться иначе, чем в других реализациях OpenPGP. Проблема вызвана особенностью обработки очень длинных строк в ASCII-представлени OpenPGP-данных.
  • Создание условий в процессе верификации цифровой подписи для отката алгоритма проверки хэша до небезопасного SHA1.
  • Возможность подстановки своих вторичных ключей (subkey) без их авторизации с использованием приватного компонента мастер-ключа. Атака осуществляется через добавление фальшивого хранилища ключей при помощи опции "--keyring".

Дополнительно выявлены две уязвимости в minisign, упрощённом инструментарии для создания и проверки по цифровым подписям. Обе уязвимости (1, 2) позволяют использовать управляющие последовательности терминала ("\e[1E") или спецсимволы ("\r") в поле с комментарием для модификации вывода программы, например, для замены информации о результате верификации.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Автор GnuPG основал LibrePGP, форк стандарта OpenPGP
  3. OpenNews: Автор GnuPG прекращает передачу имущественных прав Фонду СПО
  4. OpenNews: Критическая уязвимость в библиотеке Libgcrypt 1.9.0, затрагивающая GnuPG и systemd
  5. OpenNews: Разработчики GnuPG предупредили о трудноустранимой атаке на серверы ключей
  6. OpenNews: В Libgcrypt/GnuPG выявлена уязвимость, позволяющая воссоздать RSA-ключи
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64517-gnupg
Ключевые слова: gnupg, gpg
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (127) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 13:25, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Рабочие прототипы эксплоитов и патчи обещают опубликовать позднее. CVE-идентификаторы пока не присвоены.

    Еще не все, кто надо, воспользовались :)

     
     
  • 2.5, Аноним (5), 13:29, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Они уже, который десяток пользовались. Просто подключились пользователи из другой страны и отверстие приходится закрывать.
     
  • 2.135, Аноним (135), 20:34, 28/12/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     

  • 1.4, Аноним (5), 13:28, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Вот это случайность так случайность. Никто не виноват. У всех коммитов есть автор и описание, но имя героя мы никогда не узнаем, потому что он не виноват, серьёзные люди его попросили чуть-чуть ошибиться.      
     
     
  • 2.8, Бжежко (ok), 13:36, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Усложняешь, серьезные люди это плод твоей фантазии. Очевидная причина - на Си невозможно писать сложные программы, не допуская ошибок по работе с памятью. Си устарел, он не отвечает требованиям современных вызовов.
     
     
  • 3.10, Аноним (5), 13:38, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Ну конечно же Си виноват, а не Анб. Анб выдумал подмосковный сумасшедший Эдик сноуден. Зачем этот выдуманный Анб навязывает Раст никому неизвестно.
     
     
  • 4.38, Аноним (38), 14:39, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Анб навязывает Раст

    У DARPA получилось "навязать" Интернет всему миру.

     
     
  • 5.56, Аноним (56), 15:06, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Вместо mesh-сетей, у которых нет рубильника.
     
     
  • 6.76, Аноним (5), 15:44, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Каждый роутер даже в меш сети рассадник уязвимостей.
     
     
  • 7.138, Аноним (138), 20:41, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не понял тут имеется меш сеть типа Yggdrasil? Они же распространены, и уязвимости 1 компьютер из миллиона не в счет
     
  • 6.114, penetrator (?), 18:19, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ой а чего это вы фидонет до сих пор не используете?

    дураку понятно, что это рынок, скорость и охват все решил

     
  • 6.119, Аноним (-), 19:13, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Вместо mesh-сетей

    Нежизнеспособная фигня.

    > у которых нет рубильника.

    Рубильник есть у всего. Если не физический, то в виде закона.

     
     
  • 7.132, Аноним (132), 20:20, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Рубильник есть у всего. Если не физический, то в виде закона.

    Мало принять закон, нужно добиться его исполнения. Попробуй запретить людям дышать - запрещалку надорвёшь. К тому же, у закона есть условия применения и порядок исполнения.
    А вот замечательный Интернет запрещается, замедляется и ограничивается по щелчку пальцев, безо всякого закона, по произволу узкого круга лиц.

     
     
  • 8.139, Аноним (139), 20:44, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда на это требуется 3-5 лет работы десятков тысяч людей, совершенно не честно... текст свёрнут, показать
     
  • 8.146, Аноним (146), 21:24, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    С этим нет проблем, разве что постепенность требуется нельзя запрещать всем сра... текст свёрнут, показать
     
  • 5.120, Смузихлеб забывший пароль (?), 19:27, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну отчасти да. Не факт, что конкретно им, но, в общем-то, да.
    "Интернет" - это, по сути, подобие торговой марки совершенно конкретной сети.

    А, в общем и целом, свои собственные сети были у многих, даже у франции была своя собственная( но в итоге прикрыли, заменив американским "интернетом" )

     
  • 4.104, Аноним (104), 17:02, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Посмотрим, что это анб скажет на gccrs.
     
     
  • 5.111, Аноним (111), 17:48, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вечно отстающая реализация языка, где требовать вчерашнюю ночнушку в продакшен норма.
     
     
  • 6.117, Аноним (104), 19:07, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В ядре самый свежий Rust не нужен.
     
  • 3.16, Аноним на удаленке (?), 13:54, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Ага ага невозможно на си писать не выщывая проблем. Гы гы. Писать надо уметь а не обмазаться фреймворками и синтаксическим сахаром и всяким разными ржавчинами и сидеть брызгать слюной. Ну Си требует высокой квалификации и стройной системы разработки которая предотвращает такие ошибки, но это дорого, очень дорого. Реально проще взять что-то побезопасней и по современней и кучи ошибок обойти, только вот и там надо уметь писать. А то можно и на пайтоне получить утечку памяти ечли говнокодить. Но на Си можно писать зороший качественный код. Это п сложноконечно, но можно.
     
     
  • 4.42, Бжежко (ok), 14:45, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Cи не столько требует высокой квалификации, сколько предельной внимательности. На Си в теории можно написать хороший, качественный код, но как ты сам выразился это дорого и долго. Таких программистов исчезающе мало, и их квалификация - это дроч с заморочками Си а не какие-то там сверхумения в алгоритмах итд. Если есть инструменты, которые позволяют сделать дешевле и быстрее, зачем тогда Си? Дрочить на инструмент - это не инженерный подход, это из разряда религий.
     
     
  • 5.58, Аноним (5), 15:09, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я тебя сейчас удивлю, готовься, набери воздуха в грудь. Все языки требуют предельной внимательности.
     
     
  • 6.77, Бжежко (ok), 15:44, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Очевидно, что не все. Языки с автоматическим управлением памятью не требуют предельной внимательности именно в этой части - за GC/RAII/счётчики ссылок значительную долю рутины берёт на себя рантайм или стандартные абстракции.

    Из-за этого снижается когнитивная нагрузка, меньше нужно держать в голове жизненные циклы объектов, владение, корректность освобождения, риск use-after-free и double free. Высвобождённые ресурсы разработчик может направить на архитектуру, корректность бизнес-логики, тестирование, производительность на уровне алгоритмов итд

     
     
  • 7.158, Буратино (?), 00:52, 29/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так чем дружелюбнее язык, тем больше м@к@к в него придёт.
    "Волшебных таблеток от всего" и "царского пути в математике" не бывает.

    Язык примитивный и слабовыразительный - будут выходить за буфера и разыменовывать нули.
    Язык высокоуровневый и выразительный - будут путаться в своих <s>мудях</s> абстракциях.
    Примером те эпические дыры в десериализации Java и PHP, когда из снаружи пришедшего жсона десериализовывались объекты с разного рода активностями.
    И тоже - эта хрень висела чёрти сколько незамеченной.

     
  • 4.72, Аноним (72), 15:41, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Можно… но нужно ли? Так-то _можно_ и на ассемблере писать.
     
  • 4.80, онанист (?), 15:49, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    невозможно на си писать не выщывая проблем.

    надо быть тока повнимательнее

    зороший качественный

     
     
  • 5.140, Аноним (139), 20:46, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А?
    Что?
    Не слышно!
    Повторите, ничего не понятно!
     
  • 3.23, Аноним (23), 14:03, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Перепишут на Algol68.
     
  • 3.52, Tron is Whistling (?), 15:04, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот к этой обрезке хеша по 20000 символов C вообще отношения не имеет.
     
  • 3.85, Аноним (85), 16:06, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сложно — не значит не возможно. Все эти ошибки можно было бы отловить фаззингом. А часть — и статическим анализом. Но проект слишком стар, во время его появления таким не занимались. Почему до сих пор этого не сделали — большой вопрос, однако.
     
     
  • 4.128, Аноним (128), 19:39, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Просто на сях надо писать так, чтоб это был безопасный код - оборачивать почти в... большой текст свёрнут, показать
     
     
  • 5.144, Аноним (85), 21:00, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и на фига это делать на C тогда?
     
  • 5.145, Аноним (146), 21:04, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > В идеале вообще, делать базовую структуру, на основе которой делать все объекты, чтоб были поля "тип, количество ссылок, и т.д." для всех объектов

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

     
  • 4.142, Аноним (139), 20:47, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что само оно не делается, и делать это некому.
     
  • 3.108, Аноним (146), 17:20, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > не отвечает требованиям современных вызовов

    Неправильно, в Си отсутствует наличие соответствия нормам концептуальных требований современных вызовов дорожной карты устойчивого развития.

    А так-то да, если бы он постепенно превращался в D, ничего бы не было (а не "добавим VLA, уберём VLA; добавим Annex K, забудем Annex K; ой всё, мы уже целых 2 раза пытались язык улучшать, ни вышла").

     
  • 3.115, penetrator (?), 18:21, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    учитывая культуру производства, там все равно какой язык, грабли - гарантированы, и чуть большая сложность си не так уж важна
     
     
  • 4.118, Аноним (146), 19:07, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Но даже в системных языках надо сложность убирать под ковёр, чтобы без ошибок большие проекты писать.

    Отсюда деструкторы в Rust. Массивы, которые не забывают свой размер (= толстые указатели = слайсы, которые были в D и распиарились в Go).

     
  • 2.9, Аноним на удаленке (?), 13:37, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Если можно списать проишествие на безолаберность и залатность, то скорее всего так и есть, а не злой умысел. Но если автор хочет везде найти чей то умысел то конечно да, он его найдет и в программе "Hello World!".
     
     
  • 3.11, Аноним (5), 13:39, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Просто назови автора коммита. Выйди из комнаты и соверши ошибку.
     
     
  • 4.15, Аноним на удаленке (?), 13:49, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так просто все. Иди на гит этого проекта и посмотри кто писал, кто одобрил. Все открыто же
     
     
  • 5.26, Аноним (5), 14:08, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот видишь у тебя а голове стоит блок на мыслепреступление. Ты не имеешь права сомневаться в большом брате.  
     
     
  • 6.30, анонимно2 (?), 14:14, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какой блок, если подробностей нет то и не известно где в коде проблемы. Будут опубликованы исправления можно будет смотреть чьи ошибки.
     
     
  • 7.33, Аноним (5), 14:20, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Отмазы для бедных. Просто никому невыгодно раскрывать крота. И нельзя чтобы пролы начинали задавать вопросы.
     
  • 7.123, Смузихлеб забывший пароль (?), 19:31, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Дык ведь палились уже "исследователи" с какого-то универа, которые целенаправленно в код опенсорсных проектов добавляли неявные дыры в рамках своих "экспериментов"

    Только те это делали слишком палевно и неумело - вот и попались. И то, далеко не сразу

     
  • 4.88, Аноним (85), 16:10, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А чего ты от других этого требуешь? Сам и назови, раз утверждаешь, что это один человек. И коммиты указать не забудь. Опровергать твои домыслы никто не обязан, бремя доказательства лежит на обвиняющем.
     
  • 3.18, Аноним (18), 13:57, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >залатность

    Ну вот и большинство афторов так же считают: быстро залатанное дырявым не считается. Ы! :)

     
  • 2.12, Аноним (38), 13:44, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >серьёзные люди его попросили чуть-чуть ошибиться

    Если возможной причиной проблемы может быть либо дурость, либо целенаправленный саботаж, то в 99,9% случаев это дурость.

     
     
  • 3.64, 12yoexpert (ok), 15:25, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ты реально думаешь, что вяленый, пулса, раст, телеграм, gimp и cloudflare, - это всё дурость, а не целенаправленный саботаж?
     
     
  • 4.79, Бжежко (ok), 15:49, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > это всё дурость, а не целенаправленный саботаж

    Можешь это доказать?

     
  • 2.47, timur.davletshin (ok), 14:52, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У GnuPG с кодописателями вообще исторически туго. Посмотри, кто туда коммитит, сам.
     
     
  • 3.130, Аноним (130), 20:11, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Одни и те же люди, с самого создания софта. Коммит, который сделал двойной инкремент, запатчил сам же автор, который эту ошибку допустил ещё в 1999 году:
    https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=115d138ba59932

    Мб это дело всё же стоит форкнуть и переписать с нормальными стилем кода и названиями переменных.

     
  • 2.60, Аноним (60), 15:15, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А какие у вас будут доказательства что человек специально написал уязвимости?
     
     
  • 3.63, Фнон (?), 15:24, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Э... т.е человек чисто случайно не приходя в сознание написал код?
    Который чисто случайно оказался овнокодищем?
    И совершенно случайно и совсем не специально привел к уязвимости?
    Звучит логично!
    Особенно для #define MAX_LINELEN 20000
     
     
  • 4.75, Аноним (5), 15:43, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    То есть Jia Tan не виноват, а хакеров выдумали массоны?
     
     
  • 5.100, Аноним (100), 16:50, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    /s Ну очевидно же что это ложный китайский след чтобы очернить некорпоративных разработчиков
     
     
  • 6.122, Аноним (122), 19:30, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Раз ложный след значит просто ошибка? Понять и простить?
     
  • 4.91, Аноним (85), 16:14, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дай угадаю: в твоём коде никогда не бывает ошибок, потому что ты за свою жизнь не написал ни строчки кода, достойной того, чтобы кто-то стал искать в нём ошибки?
     
  • 4.131, Аноним (130), 20:15, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это остатки кода из 1999 года, когда в коммитах ещё встречаются рофлы вида

    -#if 0
    +#if 1

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

     
  • 3.126, Смузихлеб забывший пароль (?), 19:38, 28/12/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     

     ....большая нить свёрнута, показать (55)

  • 1.6, Аноним на удаленке (?), 13:33, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Ошибка в коде парсера зашифрованных данных, распространяемых в формате ASCII-Armor (текстовые файлы с блоком "BEGIN/END PGP ARMORED FILE"),"
    И
    "Возможность подстановки своих вторичных ключей (subkey) без их авторизации с использованием приватного компонента мастер-ключа". Я смотрю что у них ни модульного ни интеграционного тестирования с упором на безопасность не проводится... . Поделие какое то на коленке а не надежное ПО. Мдя... Особенно первая уязвимость меня убивает. Это на этапе модульного или интеграционного тестирования проверить можно.  Как минимум так это выглядит по тексту.
     
     
  • 2.71, Аноним (71), 15:32, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    если что деды тесты не пишут
     
  • 2.133, Аноним (130), 20:27, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Код с этой ошибкой прямиком из 1999 года, там ещё переключения через '-#if 0' '+#if 1' в коммитах попадаются вместо выпиливания неработающего кода. Если бы в GNU было полегче присылать коммиты, может быть у них было бы меньше таких идиотских ошибок. А так вся надежда на то, что оригинальный автор пропатчит код, а то вдруг кусок функции которая буквы читает принадлежит кому-то ещё и не оригинальный лол.
     

  • 1.22, Аноним (22), 14:03, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > в цикле "for" - несмотря на указание "n++" в самом цикле, счётчик увеличивается и в теле цикла

    О Боже, это же классика индусского кода, зачем так делать… А потом на Си гонят, якобы «язык плохой»..

     
     
  • 2.28, Фнон (-), 14:09, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Возможно в нормальном языке был бы какой-то итератор, не позволяющий овнокодить?
    Или на крайняк компилятор должен ругаться "тут какое-то др-мо написано!"
    Правдо в подобных проектах обычно warning'и выключают.
     
     
  • 3.31, Аноним (5), 14:16, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет таких языков. Но есть нейросеть, чтобы проверять чужой заведомо малварный код.

     
  • 3.44, Аноним (44), 14:48, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Возможно в нормальном языке был бы какой-то итератор, не позволяющий овнокодить?

    А у скрипача должна быть скрипка, не позволяющая плохо играть?))

     
     
  • 4.48, Бжежко (ok), 14:56, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Скрипач не может навредить если сфальшивит. А вот программист может натворить дел, ценой ошибки может являться человеческая жизнь или здоровье. Ответсвенный инженер должен понимать цену ошибки и выбирать инструменты минимизирующие ее возможность.
     
     
  • 5.54, Tron is Whistling (?), 15:05, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Поверь, к оборудованию, "где ценой ошибки", 99% погромистов просто не подпустят, и подходы там совершенно другие. Да, проблемы бывают и там.
     
     
  • 6.105, RM (ok), 17:06, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Но и оставшийся процент сможет нафакапить?
    > Therac-25 передает привет)

    справедливости ради предыдущий оратор указал, что "и там проблемы бывают"

    > Я уже молчу про менее смертельные, но неприятные ошибки, типа 1к пострадавших почтальонов (включая тюремные сроки) у Бриташек, которым [зря тут был эпитет] из Fujitsu написали овнокод.

    я так понял там честь красного мундира дефектифные манагеры до последнего защищали

    из свежего - пишут 7 не пережили ошибки https://sfconservancy.org/blog/2025/dec/23/seven-abbott-freestyle-libre-cgm-pa
    там статья в очень своеобразном стиле, но похоже датчик нормальный, а вот прилАжение на мабилу навайбыкодили

     
     
  • 7.153, Tron is Whistling (?), 22:40, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Но и оставшийся процент сможет нафакапить?
    > справедливости ради предыдущий оратор указал, что "и там проблемы бывают"

    Вот да.
    Не нафакапить кмк может только тот, кто ничего не делает.

     
  • 5.57, Аноним (5), 15:07, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Может. Запорит концерт. Особенно если много раз сфальшивит. Потеряет репутацию свою и оркестра и никто не пригласит из на настроили и не даст денег и оркестр будет есть сухари. И да скрипач может быть засланным казачком из другого оркестра.
     
  • 4.65, Анонимусс (-), 15:25, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А у скрипача должна быть скрипка, не позволяющая плохо играть?))

    У скрипача должна быть скрипка, а не табуретка к которой прифигачили несколько кусков медного провода.
    Так и тут - у разработчика должен быть инструмент, а не древнее овно мамонта.

     
     
  • 5.99, Аноним (44), 16:44, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > а не древнее овно мамонта

    Т.е. скрипка, которая не претерпела изменений со времён средневековья, по-твоему «овно мамонта». Ок, понял.

     
     
  • 6.102, Анонимусс (?), 16:56, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > одно из самых ранних изображений скрипки (трёхструнной, по форме далёкой от классической)
    > в итальянской живописи — картина Гауденцио Феррари «Мадонна апельсиновых деревьев» (1529)

    Это уже не средние века, а Позднее Возрождение. Так что мимо.
    Но сишечка это даже не проскрипка. Это какая-то палка-копалка.

     
     
  • 7.106, Аноним (44), 17:07, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Это какая-то палка-копалка

    Ну конечно, рассказывай…)

     
  • 3.92, Аноним (44), 16:17, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > в нормальном языке

    Язык нормальный, просто плохому танцору вечно что-то мешает… И данный CVE это наглядно демонстрирует - язык тут вообще не при чём. Если уж компилятор должен такой «детский сад, штаны на лямках» фиксить, то это будет компилятор для дебилов.

     
     
  • 4.125, Аноним (122), 19:34, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    То есть в продовом проекте который стоит на 90% серверов в мире детская "случайная" ошибка. Веры в это ровно нуль.
     
  • 2.93, Аноним (85), 16:19, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем так делать — понятно: надо перебирать символы, переменное число которых кодирует один байт. Но забывать про проверку на выход за границы при этом, конечно, нельзя.
     
     
  • 3.95, Аноним (44), 16:23, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Всё-равно никогда не надо изменять переменную одновременно в объявлении и в теле цикла, это бред.
     
     
  • 4.141, Аноним (85), 20:47, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А какая разница? Оба способа равноценны.
     
  • 3.134, Аноним (130), 20:30, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Открой коммит и посмотри на этот код. Там буквально две строчки, мапящие буквы из одного буфера в другой, и он там лежал с 1999 года. Просто никто код не рефакторил, а точнее не имел возможности рефакторнуть не форкая проект, потому что в GNU свои патчи хрен отправишь.
     

  • 1.29, Аноним (5), 14:14, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    И это не просто ошибка в калькуляторе или там в рисоваке кнопочек и не в приложении по запросу котиков из интернета. Это библиотека по шифрованию, шифрованию Карл с 1999 года, Карл! Неожиданная неожиданность. Даже у нас все шифрование должно проходить через три буквы, а тут просто бац и "случайная" ошибка, Карл!
     
     
  • 2.32, Аноним (32), 14:20, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вы пострадали от
    > И это не просто ошибка в калькуляторе

    ?

     
     
  • 3.34, Аноним (5), 14:21, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Почитай как разные либы занимаются операциями с плавающей точкой. Познаешь дзен.
     
  • 2.35, Аноним (35), 14:36, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Все мы помним кто у сабжа автор и что он говорил не так давно. Бэкдорчики никого смущать не должны в такой ситуации. Глупо было бы их там не иметь при таких раскладах.
     
     
  • 3.43, Аноним (43), 14:46, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что конкретно вы имеете в виду? Я вот помню, что сравнительно недавно был какой-то разлад между разрабами GnuPG и стандартизаторами OpenPGP, в результате чего появились 2 стандарта, друг другу противоречащих, один в GnuPG, а другой - в других реализациях, и мне, не специалисту, не понятно, какой из них с бэкдором, вероятно что оба.
     
     
  • 4.53, Аноним (5), 15:04, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как говорится не дайте себя обмануть в другом месте.
     
  • 4.55, Аноним (35), 15:05, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я имею в ввиду его нытьё по поводу недостаточного признания, вечные попытки уничижать гпл, и болтология на тему прямолинейности Столлмана. Всё это позволяет составить достаточно целостную картину.
     
  • 3.94, Аноним (85), 16:21, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Все мы помним

    All generalizations are false.
    Просвети.

     
  • 2.37, Аноним (23), 14:39, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У нас-то оно должно проходить через три буквы, чтобы быть шифрованием - для кого надо "шифрованием".
     

  • 1.36, Аноним (43), 14:37, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    1. там в анонсе ещё секвоя была заявлена:

    >When looking into various PGP-related codebases for some personal use cases, we found these expectations not met, and discovered multiple vulnerabilities in cryptographic utilities, namely in *GnuPG*, *Sequoia PGP*, *age*, and *minisign*.

    2. Но тут админ вообще пушку не запостил как новость: https://fahrplan.events.ccc.de/congress/2025/fahrplan/event/xous-a-pure-rust-r

    Bunn1e & Xobbs запустили на TSMC производство своего RISC-V во многом опенсорсного чипа (System Verilog-код на гитхабе), спроектированного под запуск их операционки, отгрузка во втором квартале 2026.

     
     
  • 2.51, Tron is Whistling (?), 15:02, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    (2) - ну и кому оно реально интересно, кроме полутора желающих поиграться с новой модной бирюлькой?
     
     
  • 3.66, 12yoexpert (ok), 15:29, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    никому
     
  • 3.96, Аноним (85), 16:24, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мне.
     
     
  • 4.157, Аноним (157), 00:38, 29/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И мне тоже.
     

  • 1.39, Аноним (43), 14:41, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Ошибка в коде парсера зашифрованных данных, распространяемых в формате ASCII-Armor (текстовые файлы с блоком "BEGIN/END PGP ARMORED FILE"), приводящая к записи в область памяти вне границы буфера

    Тут ещё всякие нас много лет убеждали "TLS не нужен, есть же GPG-подписи!" - но мы не верили. Некоторые корпорации принципиально не вешали TLS на сервера обновлений пакетных менеджеров. Даже после того, как их в открытую обвинили в саботаже и сотрудничестве с гебнёй.

     
  • 1.40, Аноним (38), 14:43, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    >обрезка данных по границе 20000 символов при вычислении хэша

    Закладки так не делают. Такое можно сделать только по исключительной тупости.

     
     
  • 2.46, Аноним (46), 14:50, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Закладки именно так делают. Всегда можно тыкнуть в текст лицензии, где отказ от ответственности, тыкнуть в исходник, где явно всё закодено, потом тыкнуть в морду пострадавшему и намекнуть, что он б**ло, которое не читает исходники, жрёт, что дают, и вообще не учит криптографию, не учит практики кодинга криптографии, и не пишет свою реализацию, и поэтому сам во всём виноват. Закладки - они бывают ведь разные. Одни - от б**ла, а другие - от иранских ядерных центрифуг.
     
     
  • 3.68, Аноним (38), 15:30, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Закладки именно так делают.

    Почитай разбор про выбор параметров таблиц замен в алгоритмах Стрибог и Кузнечик. Лучшие мировые криптоаналитики бились, но *доказать* неслучайность так и не смогли. В итоге предали анафеме исключительно на основе «highly likely» (часовню тоже я)

    Вот как делают закладки.

     
     
  • 4.161, Аноним (161), 01:17, 29/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    С чего ты взял, что бились над этими никому не нужными (для практического использования) криптосистемами? Тут же принцип "у меня в рукаве ничего нет", когда он не соблюдается - это повод просто выкинуть даже не разбираясь.
     
  • 2.50, Аноним (5), 15:02, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот поэтому ты и не специалист по закладкам. Прятать лучше всего на самом видном месте. А в случае чего всего можно сказать что это чудовищная "случайность".
     
     
  • 3.62, Аноним (60), 15:19, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Какие доказательства есть что это закладка а не человеческая ошибка?
     

  • 1.41, localhostadmin (ok), 14:44, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Никогда не понимал, почему всех возмущает переусложнённость systemd, но никто упорно не замечает такого слона, как gpg? Хотя он стоит по умолчанию в целой куче дистров
     
     
  • 2.59, Фнон (?), 15:15, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как можно не понимать такие простые вещи??
    systemd делалось по заказу корпораций для угнетения админов,
    а gpg пишут мальчики-зайчики из проекта ГНУ!
     
     
  • 3.73, Аноним (5), 15:41, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кто финансирует зайчиков? Кто у них тимлид, начальник, к т отдаёт им приказы, кто контролирует? Кто контролирует тех кто контролирует?
     
     
  • 4.82, онанист (?), 15:51, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    никто
    базар же
     
     
  • 5.84, Аноним (84), 16:06, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А я думал сова. Или китайцы или американцы или северные корейцы. Или все вместе взятые, но разных разрабов.
     
  • 4.101, Фнон (-), 16:53, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так никто не контролирует.
    Просто собрались васяны, устроили базар, пишут как могут и когда могут.
    Никакой ответственности.
     
     
  • 5.127, Аноним (122), 19:38, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    То есть ты не думаешь что в этот базар волосатая рука рынка может занести за любое нужное ей изменение и дополнение в коде?
     
  • 2.98, Аноним (85), 16:34, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Подкину тебе ещё один повод для паранойи: а не является ли целью сей акции повсеместное пропихивание sequoia вместо gpg?
     
     
  • 3.107, localhostadmin (ok), 17:17, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Лично я просто стараюсь избегать использования pgp вцелом
     
     
  • 4.136, Аноним (85), 20:36, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше вообще криптографию избегать. Тогда точно не взломают.
     
     
  • 5.159, localhostadmin (ok), 01:02, 29/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Раскрою тебе секрет, пгп это не единственный способ шифровать и подписывать файлы
     

  • 1.49, Tron is Whistling (?), 15:01, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какой-то совсем уж жёсткий набор дыр, а вот это вот - "из-за обрезки данных по границе 20000 символов при вычислении хэша" - вообще сказка. Где голова у того, кто это писал?
     
  • 1.70, Аноним (70), 15:31, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Во-первых, на сайте я вижу 14 пунктов а не 12. Во-вторых, вы бы приложили хотя бы ответ из oss-security, где на 9 из них пишут "читайте полный вывод а не то что по итогу пишет терминал"
    : https://openwall.com/lists/oss-security/2025/12/28/5
     
     
  • 2.149, Аноним (85), 21:55, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Всё правильно, 12 в GnuPG и 2 в minisign.

    > вы бы приложили хотя бы ответ из oss-security, где на 9 из них пишут "читайте полный вывод а не то что по итогу пишет терминал"

    Перечитал три раза, не нашёл таких слов. Там написано буквально: это давно известная проблема, для обхода которой при автоматическом разборе есть опция.

     

  • 1.90, robot228 (?), 16:12, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что вместо GnuPG использовать? Секвою какую-то рекомендовали кажись?
     
     
  • 2.147, morphe (?), 21:25, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Sequoia не имеет каких-то алгоритмов, но в целом полностью заменяет gpg.

    При этом набор алгоритмов там значительно меняется просто при смене бекенда, их там несколько, например nettle (привязка к смешной библиотеке) и rust-crypto (криптография через Rust библиотеки). Одновременно оба использовать нельзя.

     
     
  • 3.152, Аноним (152), 22:27, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В расте всегда можно словить малварь на уровне llvm. И ты его никогда не вычислишь.
     
     
  • 4.155, morphe (?), 23:28, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > В расте всегда можно словить малварь на уровне llvm. И ты его
    > никогда не вычислишь.

    Т.е теоретическая малварь в опенсорс компиляторе, при том что даже PoC подобной штуки (компилятор внедряющий закладку в компилируемый код) очень сложно делается, для тебя страшнее чем реально существующие уязвимости что встречаются каждый день, которые позволяют вытаскивать из процесса произвольные данные, и которые невозможно поймать до начала их активной эксплуатации всеми подряд?

    Чтож, поздравляю, клоун. Скажи ещё каким это боком gcc более безопасный чем llvm.

     

  • 1.109, Скотобаза (?), 17:24, 28/12/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –2 +/
     

  • 1.150, Котик Биба (?), 22:14, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Ошибка ... приводящая к записи в область памяти вне границы буфера. Проблема может привести к выполнению кода

    Эх, вот бы был язык, который не давал выходить за границы буферов)))

     
     
  • 2.151, Аноним (152), 22:26, 28/12/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    И чтобы произошло? Он бы жрал как не в себя чтобы на каждый чих проверять весь мир?
     
  • 2.160, localhostadmin (ok), 01:06, 29/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, всем пора переходить на питон
     

  • 1.154, Аноним (154), 23:17, 28/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И какой вывод из этого? 🤔
     
  • 1.156, svpcom (ok), 23:59, 28/12/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру