The OpenNET Project / Index page

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

Уязвимости в Libarchive, приводящие к выходу за границы буфера

12.10.2024 15:34

В библиотеке Libarchive, предоставляющей функции для работы с различными форматами архивов и сжатых файлов, выявлены уязвимости, приводящие к выходу за границы буфера при обработке специально оформленных архивов в формате RAR. Уязвимости присутствуют в функциях execute_filter_audio (CVE-2024-48957) и execute_filter_delta (CVE-2024-48958) и вызваны отсутствием проверки, что блок "src" может перекрывать блок "dst" в повреждённых архивах.

Уязвимости устранены в версии Libarchive 3.7.5, в которой также исправлено более десятка ошибок, приводящих к выходу за границы буфера, обращению к уже освобождённой памяти или целочисленным переполнениям при обработке файлов в форматах cpio, lzop, rpm, zip, uu и rar. Исправления помечены как проблемы с безопасностью, но без присвоения CVE-идентификаторов. Пока не ясно можно ли эксплуатировать данные проблемы для организации выполнения кода при обработке специально оформленных файлов.

Libarchive используется как зависимость во многих популярных пакетах, например, в smbclient, flatpak, appstream, libappimage, dpdk, cmake, rpm, nix, pacman, elfutils, unrar, claws-mail, ark, epiphany, evince, vagrant, vlc, mpv, gvfs, fwupd, systemd (опционально) и file-roller (менеджер архивов в GNOME). Проследить за появлением обновлений в дистрибутивах можно на следующих страницах: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Уязвимости в cpio и libarchive
  3. OpenNews: Серия уязвимостей в Libarchive
  4. OpenNews: Вышел релиз gzip 1.4 с исправлением опасной уязвимости
  5. OpenNews: Релиз bzip2 и libbz2 1.0.6 с исправлением серьезной уязвимости
  6. OpenNews: Уязвимость Zip Slip, затрагивающая библиотеки для распаковки архивов
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62037-libarchive
Ключевые слова: libarchive
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (71) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.4, Аноним (4), 16:11, 12/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Не сказать, что удивлён, это известная закладочка. Поэтому, я не понимаю, когда авторы сторонних проектов на неё жёстко завязываются -- у них то вроде интереса в продвижении бэкдоров нет, это не редхат и не гном.
     
     
  • 2.6, Ivan_83 (ok), 16:27, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Потому что мир так устроен.
    Когда авторы тратят годы чтобы реализовать всё своё про них говорят что у них NIH синдром и они зря тратят время, а когда авторы берут готовые либы и склеивают на изоленту в новый продукт за два вечера - то случается вот такое.

    Из того что в новости перечислено - там эта либа много где просто на переферии для чего то не нужного используется.

     
     
  • 3.8, Аноним (4), 16:47, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Из установленного у меня сабж неопциональная зависимость cmake и appstream-glib. Cmake это хорошее место для закладки и от appstream-glib зависит gimp (а потом спрашивают, чего это негативно относятся к стрёмным зависимостям).
     
     
  • 4.26, Ivan_83 (ok), 22:09, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не опциональная не значит что оно там прямо все данные через себя прогоняет.
     
  • 2.11, Аноним (11), 17:15, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    проще взять готовую библилотек, разрабы которой годами ее вылизывали, чем писать с нуля функции чтения-создания каждого формата архива, там работы на годы и требования к пониманию нескольких огромных разделов математики + численных методов. А затем это все еще и оптимизировать надо. И послне этого всего ошибок будет ничуть не меньше. а в Libarchive вот еще одним багом стало меньше.
     
     
  • 3.12, Аноним (4), 17:24, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, проще пайп в реальные утилиты формата вместо чёрного ящика костылей с троянами.
     
     
  • 4.20, neo one (?), 18:43, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >проще пайп в реальные утилиты формата вместо чёрного ящика костылей с троянами.

    бро, ты не в ту сторону воюешь. как раз утильки от вендора это кривые черные ящики, а Libarchive бери и ковыряй на здоровье. причем читал обсуждения например unrar 5й версии представляет из себя полную наркоманию, которую мало кто из опенсорсников решается расковыривать. а опенсорсники хоть немного о качестве кода думают

     
     
  • 5.24, Аноним (4), 19:15, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Сабж в любом случае задействует эти "кривые черные ящики".
     
     
  • 6.31, Аноним (31), 01:12, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это не так, сабж не использует unrar.

    https://github.com/libarchive/libarchive/issues/1028#issuecomment-397899252

     
     
  • 7.42, Аноним (4), 07:40, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    С нормальным unrar линковаться нельзя, им приходится обмазываться суррогатом. Толку правда мало, всё равно файлы никакие не откроет.
     
  • 5.25, Аноним (-), 21:16, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И чо, много наковыряли?

    Уязвимость тихо и незаметно добавили в коммите "support rar filters" Oct 4, 2021
    github.com/libarchive/libarchive/commit/01a2d329dfc71741892e2b590cf9fb25092474a0
    Это было целых 3 года назад. И куда смотрела тыщща глаз все это время?

    Теперь ее убрали как не нужную.
    Заодно пофиксиили еще "более десятка ошибок". Ну типа "мы стараемся!"

     
     
  • 6.34, arisu (ok), 02:34, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    тыша глаз смотрели на тебя. ждали, пока ты соизволишь поделиться тайным знанием. а ты вместо этого стоял в розовых плавках весь красивый такой.
     
     
  • 7.73, Аноним (73), 15:00, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/libarchive/libarchive/issues/1028#issuecomment-397899252

    ну вот вам и формальная верификация, где она? вот от таких "own implementation" и спасет от части, хотя кому я это говорю? Бекдорщикам не сдалась эта верификация.

     
     
  • 8.74, Аноним (-), 15:11, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    лол спасибо за ссылку, схорнил Не, формальная верификация это долго и дорого Ту... текст свёрнут, показать
     
     
  • 9.76, Аноним (73), 15:52, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    передано Аноним 31 так спецификацию описывать долго, и ее делает обычно инициа... большой текст свёрнут, показать
     
  • 3.28, Ivan_83 (ok), 22:23, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не нужна там никакая математика кроме начальных классов школы.
    Вы путаете разработку архиватора и банальную инмплементацию готовых алгоритмов, тем более когда доступны референсы.
    Но работы реально много.
    С другой стороны я видел даже на вижалбейсике реализацию кучу алгоритмов сжатия.
     
     
  • 4.56, Аноним (56), 20:38, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Для разработки архиватора действительно хватает школьного образования, а вот для сжатия полученного архива, нужны серьезные знания дискретной математики.
     
     
  • 5.77, Ivan_83 (ok), 16:47, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Сабжевая либа - просто сборник алгоритмов в одном месте с одним API, подобно OpenSSL для крипты.
    Чтобы накатать такую либу не нужно парится с разработкой алгоритмов, нужно брать готовое и клеить на изоленту.
     
  • 2.22, Аноним (22), 19:08, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что авторы - жмоты, заплатить за аудит и вылизывание libarchive.
     
     
  • 3.72, Аноним (73), 14:57, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > заплатить за аудит и вылизывание libarchive.

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

     
     
  • 4.82, arisu (ok), 19:21, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > и цель их одна - бекдоринг.

    где пруфы, билли?

     
  • 3.86, Аноним (86), 22:28, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я правильно понял, авторы пишут полезный инструмент и делятся им с другими - это жмоты, кто-то только гадит и вымогает вознаграждение - это герой-спаситель?
     
     
  • 4.89, arisu (ok), 23:26, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Я правильно понял, авторы пишут полезный инструмент и делятся им с другими
    > - это жмоты, кто-то только гадит и вымогает вознаграждение - это
    > герой-спаситель?

    да. это реалии современного «опенсорца». внезапно — авторы свободного софта оказываются всем вокруг должны, и всё равно они по жизни бракоделы, ату их.

     
  • 2.23, Аноним (23), 19:13, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Не сказать, что удивлён, это известная закладочка.

    Ты о языке C?

     
     
  • 3.48, Аноним (48), 15:50, 13/10/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.71, Аноним (73), 14:55, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Не сказать, что удивлён, это известная закладочка.

    любая такая обвязка форматов и есть бекдоринг чистой воды.

     
     
  • 3.81, arisu (ok), 19:20, 14/10/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     

     ....ответы скрыты (26)

  • 1.7, Аноним (7), 16:43, 12/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    В который раз. Но выкинуть этот libarchive к сожалению нельзя - от него всё подряд зависит
     
     
  • 2.9, Герострат (?), 16:59, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В генте можно выкинуть
     
     
  • 3.27, Fracta1L (ok), 22:22, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нельзя.
     
  • 2.69, Zenitur (ok), 08:56, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    cmake зависит. Что-нибукдь ещё зависит?
     

  • 1.10, randomize (?), 17:03, 12/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    > более десятка ошибок, приводящих к выходу за границы буфера, обращению к уже освобождённой памяти или целочисленным переполнениям

    Как же это достало-то уже... Каждый раз одно и то же.

     
  • 1.13, seyko (??), 17:37, 12/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так в чём всё таки проблема? Ну вот, например я, напишу прогу, делающую тоже самое  Всё? Я уже могу взломать систему и получить root?
     
  • 1.14, Аноним (-), 17:43, 12/10/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +4 +/
     

     ....ответы скрыты (7)

  • 1.15, Аноним (15), 17:44, 12/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Потому что нечего использовать rar? Кому он вообще всrarлся?
     
  • 1.17, Аноним (17), 17:57, 12/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Криокамеры дали течь.

    https://github.com/libarchive/libarchive/releases

    3.7.5 вышла 14 сентября.
    3.7.6 вышла 23 сентября.

     
     
  • 2.19, Аноним (-), 18:26, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > 3.7.6 вышла 23 сентября.

    Она была просто фиксом регрессий которые они наделали в 3.7.5

    This release fixes a tar regression introduced in libarchive 3.7.5 (#2331, #2337)

    Important bugfixes.
    tar: clean up linkpath between entries (#2343)
    tar: fix memory leaks when processing symlinks or parsing pax headers (#2338)
    iso: be more cautious about parsing ISO-9660 timestamps (#2330)

    Причем 2330 это фикс overflow)))

     

  • 1.21, Аноним (21), 18:54, 12/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > вызваны отсутствием проверки

    Фиксы как всегда шикарны
    +    if (src >= dst)
    +         return 0;

    +    if (src >= dst)
    +         return 0;

    Не, ну а фигли проверять входные данные))
    Настоящие погромисты и так знаю что там все правильно)))

     
     
  • 2.39, arisu (ok), 02:41, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    а ты всё это видел, но сидел и молчал. или нет, или ты в принципе ничего никогда не писал, тебе просто очень хочется почувствовать себя Шибко Умным? так ты, главное, никогда ничего писать и не начинай. а то потом другой аноним так же над тобой смеяться будет. а когда кода нет — то и смеяться не над чем. удобно.
     
     
  • 3.43, Аноним (73), 11:15, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не зная предметной области и не имея строгой корректной спецификации алгоритма, хоть тыща глаз пусть смотрит, толку ноль. В крипте такая же хрень, спецификация описывает одно, а имплементируют по разному, ссылаясь на производительность или константность по времени, что не описано в спецификации. Вывод, думать обо всем этом надо до написания кода, то есть на этапе строгой формализации.
     
     
  • 4.58, arisu (ok), 20:52, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    какой ты умный, это просто нечто. повторяю предложение показать как надо. а то что-то у тех, кто громко за Дейкстру и доказательства топит, обычно ни одной реальной рабочей программы нет.

    прискорбно то, что в целом-то я с тобой согласен.

     
     
  • 5.64, Аноним (73), 23:16, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > кто громко за Дейкстру и доказательства топит, обычно ни одной реальной рабочей программы нет.

    А вы задавались вопросом почему нет?

    > повторяю предложение показать как надо

    а кто вас слушать будет? думаете интел вас послушает когда вы ему скажите, что модель фон-Неймана - гамно?

     
     
  • 6.65, arisu (ok), 23:29, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А вы задавались вопросом почему нет?

    потому что Дейкстра был практиком, а его фанаты-последователи все теоретики, и практики очень боятся. ибо говорить про Дейкстру они умеют, а вот приенять методы математического доказательства программ — нет. начнут что-то делать — конфуз получится.

    >> повторяю предложение показать как надо
    > а кто вас слушать будет?

    уж точно не астронавты-теоретики. они кроме себя всё равно никого не слышат.

     
     
  • 7.70, Аноним (73), 14:54, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > а его фанаты-последователи все теоретики, и практики очень боятся

    а зачем верифицировать обвязку? libarchive - обвязка. И как выше первый комментатор указал, эти обвязки создаются с целью бекдоринга и не более.

     
     
  • 8.78, arisu (ok), 19:10, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    я никак не могу понять это два проприетарщика, или один в двоих играет да, мил... текст свёрнут, показать
     
     
  • 9.85, Аноним (73), 22:13, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Анонимы маркируются по номеру в скобках, вот я тут - Аноним 73 , и мои коменты ... большой текст свёрнут, показать
     
     
  • 10.87, arisu (ok), 23:14, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    конечно, не говорил если вдруг начать говорить про лицензию 8212 то может по... текст свёрнут, показать
     
     
  • 11.90, Аноним (73), 02:23, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    а то есть, лицензия не позволяет использовать чужой оригинальный код алгоритм... большой текст свёрнут, показать
     
     
  • 12.91, arisu (ok), 04:08, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    женечке рошалю вот такой он 8212 дивный современный мир ты даже не знаешь, ... текст свёрнут, показать
     
     
  • 13.95, Аноним (73), 16:17, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ясно спека где в смысле какая связь, мы о чем говорим не я доказываю proving ... большой текст свёрнут, показать
     

  • 1.47, Аноним (47), 14:12, 13/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что вообще такого страшного в выходе за границы массива?

    Ну запортишь ты себе память, ну скрашится твоя программа. Дальше что?

     
     
  • 2.51, Аноним (48), 15:57, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Пока есть кому зарепортить и исправить - ничего страшного, обычный процесс. Проблемы начинаются когда вместо написания кода начинают искать "волшебную пулю".
     
  • 2.53, Аноним (-), 16:37, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так это шикарно если она закрашится Так оно и должно быть Но вот проблемка как... большой текст свёрнут, показать
     
     
  • 3.55, Ivan_83 (ok), 20:17, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хватит уже банальщину писать, есть w^x, ASLR и много всего интересного.
     
     
  • 4.62, arisu (ok), 20:58, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Хватит уже банальщину писать, есть w^x, ASLR и много всего интересного.

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

     
  • 3.66, Аноним (47), 03:16, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Зато подобрав входные данные и правильно испортив память ты можешь выполнить действия, которых не было в исходном коде.

    А при чём тут Си?

    Это вопрос должен быть адресован ld-linux.so и формату elf.

    Код лежит в секции text, с чего бы вдруг код не из секции text стал исполняться?

    Дальше, чаще всего выход за границы массива с перезаписью RET происходит в случае, когда массив лежит на стеке. Так вот нет никакой проблемы не класть массивы на стек _никогда_, всегда делать их в heap.

    Это совершенно не противоречит Си.

     
  • 2.61, arisu (ok), 20:56, 13/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Что вообще такого страшного в выходе за границы массива?
    > Ну запортишь ты себе память, ну скрашится твоя программа. Дальше что?

    то, что на сишечке оно не падает. потому что там вообще понятия «массив» нет, и уж тем более автоматических проверок выхода индекса за диапазон допустимых значений.

     
     
  • 3.68, Ivan_83 (ok), 04:32, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Там есть массивы, а проверки не нужны.
     
     
  • 4.79, arisu (ok), 19:12, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Там есть массивы.

    то есть, си ты не знаешь. спасибо, я понял.

     
     
  • 5.84, Аноним (-), 22:04, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> Там есть массивы.
    > то есть, си ты не знаешь. спасибо, я понял.

    Это Ваня, местная знаменитость.
    Я с ним как-то спорил, что в СИшке есть строки, а он меня убеждал - что нету.

    Я кинул цитаты из стандарта CИ, а он сказал, что "Клал я с прибором на то что кто то называет стандартом" [1]
    От такая компетентность))
    Ну и он же хвастался что его поделие на СИшке во все ЭсЭнГэ работало.

    В такие моменты я спрашиваю у вселенной "ну за что!?"

    [1] opennet.ru/openforum/vsluhforumID3/134987.html#38

     
     
  • 6.88, arisu (ok), 23:17, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ну, если буквоедничать, то я тоже неправ: декларация массивов-то есть. а вот самих массивов нет. такой вот парадокс.
     
     
  • 7.94, Аноним (-), 15:26, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > декларация массивов-то есть. а вот самих массивов нет. такой вот парадокс.

    Сначала вспомнил "*опа есть, а слова нет"))

    А потом все-таки решил заглянуть в так называемый стандарт
    An array type describes a contiguously allocated nonempty set of objects with a
    particular member object type, called the element type.36) Array types are
    characterized by their element type and by the number of elements in the array

    Т.е таки не только декларация есть, но даже array type.
    Сделано конечно через.. как всегда в общем.

     
     
  • 8.97, arisu (ok), 21:58, 15/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    это они очень хотят, но array type там нет если средствами языка это невозможно... текст свёрнут, показать
     
     
  • 9.98, Аноним (73), 00:33, 16/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    множество множест есть составной тип array, как и struct - такой же тип данных ... текст свёрнут, показать
     
  • 3.75, BorichL (ok), 15:35, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А что мешает написать? Си это всего лишь инструмент, а что ты на нём напишешь, полностью зависит от твоих способнотей. Тут вот 3/4 лентяев, которые хотят, чтобы оно само, типа мы тут насрём, а рантайм пусть этот кал рассортирует и уберёт.
     
     
  • 4.80, arisu (ok), 19:17, 14/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А что мешает написать?

    невозможность нормально интегрировать это в язык без модификации компилятора.

    > Си это всего лишь инструмент, а что ты
    > на нём напишешь, полностью зависит от твоих способнотей.

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

    > лентяев, которые хотят, чтобы оно само

    и я хочу. хочу, чтобы компилятор проверял индексы. разыменования NIL. арифметические переполнения. автоматически освобождал память. у Вирта это всё много-много лет есть. вот и не пишу больше на сишечке — разве только иногда, когда у меня приступ мазохизма, и хочется выпендриться.

     

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



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

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