The OpenNET Project / Index page

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

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

26.04.2023 10:50

Опубликованы корректирующие выпуски распределённой системы управления исходными текстами Git 2.40.1, 2.39.3, 2.38.5, 2.37.7, 2.36.6, 2.35.8, 2.34.8, 2.33.8, 2.32.7, 2.31.8 и 2.30.9, в которых устранено пять уязвимостей. Проследить за выпуском обновлений пакетов в дистрибутивах можно на страницах Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. В качестве обходных путей для защиты от уязвимостей рекомендуется избегать выполнения команды "git apply --reject" при работе с непроверенными внешними патчами и проверять содержимое $GIT_DIR/config перед запуском команд "git submodule deinit", "git config --rename-section" и "git config --remove-section" при работе с не заслуживающими доверия репозиториями.

Уязвимость CVE-2023-29007 позволяет добиться подстановки настроек в файл конфигурации $GIT_DIR/config, которые могут использоваться для выполнения кода в системе через указание путей к исполняемым файлам в директивах core.pager, core.editor и core.sshCommand. Уязвимость вызвана логической ошибкой, из-за которой очень длинные значения конфигурации могут быть обработаны как начало новой секции при выполнении операций переименования или удаления секции из файла конфигурации. На практике подстановки эксплуатирующих уязвимость значений можно добиться через указание очень длинных URL субмодулей, которые сохраняются в файл $GIT_DIR/config во время инициализации. Данные URL могут быть интерпретированы как новые настройки при попытке их удаления через "git submodule deinit".

Уязвимость CVE-2023-25652 позволяет перезаписать содержимое файлов вне рабочего дерева при обработке командой "git apply --reject" специально оформленных патчей. При попытке выполнения командой "git apply" вредоносного патча, пытающегося совершить запись в файл через символическую ссылку, операция будет отклонена. В Git 2.39.1 защита от манипуляций через символические ссылки была дополнена блокировкой патчей, создающих символические ссылки и пытающиеся выполнить запись через них. Суть рассматриваемой уязвимости в том, что Git не учитывал, что пользователь может выполнить команду "git apply --reject" для записи отклонённых частей патча в виде файлов с расширением ".rej" и атакующий может использовать данную возможность для записи содержимого в произвольный каталог, насколько это позволяют текущие права доступа.

Кроме того, устранены три уязвимости, проявляющиеся только на платформе Windows: CVE-2023-29012 (поиск исполняемого doskey.exe в рабочем каталоге репозитория при выполнении команды "Git CMD", что позволяет организовать выполнение своего кода в системе пользователя), CVE-2023-25815 (переполнение буфера при обработке специально оформленных файлов локализации в gettext) и CVE-2023-29011 (возможность подмены файла connect.exe при работе через SOCKS5).

  1. Главная ссылка к новости (https://lkml.org/lkml/2023/4/2...)
  2. OpenNews: Выпуск системы управления исходными текстами Git 2.40
  3. OpenNews: Уязвимости в Git, приводящие к утечке и перезаписи данных
  4. OpenNews: Две уязвимости в Git, способные привести к удалённому выполнению кода
  5. OpenNews: Обновление Git с устранением уязвимости, допускающей удалённое выполнение кода
  6. OpenNews: В Git устранена уязвимость, которая может привести к выполнению кода атакующего
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59033-git
Ключевые слова: git
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (98) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:18, 26/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    ну что тут скажешь, уязвимости были, есть и будут, выбор ЯП от этого них спасает, такая уж архитектура современных пекарей и серверов
     
     
  • 2.2, soarin (ok), 11:21, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да.
    Главное не быть луддитом, и во время затыкать дырки 🍩
     
     
  • 3.5, Аноним (5), 11:30, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Луддиты тоже могут затыкать дырки, если ты понимаешь о чём я.
     
  • 3.82, Аноним (82), 02:10, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Одну дырку заткнут, две добавят.
     
  • 3.83, поссы на меня (?), 04:27, 27/04/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 3.93, Антонимка (?), 17:03, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Главное не быть луддитом, и во время затыкать дырки 🍩

    Главное ерунды не писать, как спешунчики. И тогда неолуддитам новое тоже начнёт нравиться.

    Проблема в глупости, а не новизне.

     
  • 2.3, Аноним (3), 11:27, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Не совсем так. Это говорит об уровне разработки.

    Одно дело уязвимости в каких-то сложных алгоритмах и структурах данных, многопоточности и т.п.


    Другое дело не уметь обработать правильно чуть более длинную строку.

    Это днищенское дно ((

     
     
  • 3.4, Аноним (5), 11:29, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    У тебя с детства заученное чувство вины и ты его на всех теперь проецируешь.
     
     
  • 4.15, Аноним (15), 12:27, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Поработать бы сишникам в областях, где от ПО зависят человеческие жизни - вот тогда бы они узнали, что такое чувство вины.

    А так чел правильно написал. Одни сишечные г*кодеры десятилетиями продолжают писать сишечный г*код. Другие сишечные г*кодеры рассказывают, что это норма и иначе нельзя.

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

     
     
  • 5.16, Аноним (16), 12:39, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Embedded это есть сфера от которой часто зависят человеческие жизни ты в интеллект вообще умеешь?
     
     
  • 6.25, Аноним (15), 13:28, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Только вот не весь embedded написан на си. Если бы ты вылез из сишечного танка, то знал, что embedded, от которого зависят человеческие  жизни (тот самый high-integrity software - авиация, комонавтика, ЖД, АЭС), еще с восьмидесятых не пишут на сях.

    Я уже представляю, как после условного падения самолета с N человеческих жертв сишечный кодер разводит руками: "ну что тут скажешь, уязвимости были, есть и будут...". Самому-то не смешно? Слава богу, таких горе-экспертов к серьезному программированию не допускают.

     
     
  • 7.49, Аноним (49), 16:01, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > embedded, от которого зависят человеческие  жизни [...] еще с восьмидесятых не пишут на сях

    Интересуюсь с целью саморазвития: а на чём пишут такое embedded?

     
     
  • 8.54, Анонн (?), 16:26, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    SPARK Ada, Misra C там такое количество ограничений, что с Си оно связано тольк... текст свёрнут, показать
     
     
  • 9.79, Аноним (79), 00:09, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, почитаю на досуге ... текст свёрнут, показать
     
     
  • 10.80, Аноним (-), 00:51, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лучше Embedded C Coding Standard by M Barr почитать и тому подобное по смыслу ... текст свёрнут, показать
     
  • 7.64, Michael Shigorin (ok), 17:46, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И что, сильно легче стало паре ошпареных на станции из-за того, что одни гении решили порулить вторым контуром на j2me, а ей приспичило хлам пособирать?

    Сдуйте щёки.

     
     
  • 8.86, Аноним (86), 09:41, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На PHP Очевидно, речь идёт о Ada SPARK и т п ... текст свёрнут, показать
     
  • 7.65, OpenEcho (?), 17:50, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > тот самый high-integrity software - авиация, комонавтика, ЖД, АЭС), еще с восьмидесятых не пишут на сях.

    Как же NASA отстала от передовых анонимов блин, жалко за организацию

     
  • 7.75, Аноним (75), 23:34, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вообще-то в практически всех перечисленых немеряно сишного кода А фирмвари микр... большой текст свёрнут, показать
     
     
  • 8.96, n00by (ok), 17:12, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Yeah, I thought some time back that it would be a week till I got back to my de... текст свёрнут, показать
     
  • 5.18, Аноним (18), 12:43, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Поработать бы сишникам в областях, где от ПО зависят человеческие жизни

    очередной лунтик свалился, хехе

    https://www.misra.org.uk/

     
     
  • 6.48, Анонимусс (?), 15:49, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Мисра конечно крута, по ней код для всяких марсоходов пишут за охулиарды денег
    Но... как это применимо к пользовательскому софту?
    В ядре мисрой даже не пахнет - такое ***кодище невозможно на нее переписать, как и заставить тех же драйверописателей ее использовать. А про всякие поделки типа гита вообще говорить нечего.
     
     
  • 7.53, name (??), 16:26, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для начала, MISRA запрещает аллокацию на куче... всё - нигодится нидлячего, кроме ембеда в лифтах или автомобилях.
     
  • 7.69, Аноним (18), 18:14, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > В ядре мисрой даже не пахнет

    но современные ракеты на обычном линуксе и С летают

    https://www.opennet.dev/opennews/art.shtml?num=53083

    шах и мат военам супротив сишки

     
  • 7.76, Аноним (-), 23:42, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для начала по ней пишут код для автомобилистов Который очень даже может убить с... большой текст свёрнут, показать
     
     
  • 8.99, Аноним (3), 22:28, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это до тех пор пока новая версия git не попортит КАЖДУЮ локальную репу Это ли... текст свёрнут, показать
     
  • 6.106, Аноним (106), 12:30, 29/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https repository tudelft nl islandora object uuid 646de5ba-eee8-4ec8-8bbc-2c18... большой текст свёрнут, показать
     
  • 5.19, Проффесор (?), 12:43, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Может сможешь привести пример ЯП или области где все шоколадно? Или только дерьмом поливать умеешь?
     
  • 5.22, Местный эксперт (?), 12:52, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Поработать бы сишникам в областях, где от ПО зависят человеческие жизни -
    > вот тогда бы они узнали, что такое чувство вины.
    > А так чел правильно написал. Одни сишечные г*кодеры десятилетиями продолжают писать сишечный
    > г*код. Другие сишечные г*кодеры рассказывают, что это норма и иначе нельзя.

    Да, то ли дело г@вн@код на других ЯПах, они ещё и выдают жирное потребление ресурсов, зато стильно, модно, молодёжно и со вкусом смузи, как вы это любите. xD

     
     
  • 6.100, Аноним (3), 22:32, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там хотя бы библиотеки есть и структуры данных)))

    Здесь как бомжара шаришься чтобы по всему интернету чтобы собрать всякие ring buffer, queue, linked list, red black tree, etc.

    Вообще ничего нормального нет 🤣
    Либо писать своё наколеночное г.но. Но зная уровень Сишников уровень этих поделок предсказуем.

     
     
  • 7.104, Аноним (104), 10:21, 28/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Здесь как бомжара шаришься чтобы по всему интернету чтобы собрать всякие ring buffer, queue, linked list, red black tree, etc.

    это проблема не языка а тупых поисковиков

     
  • 4.94, Антонимка (?), 17:05, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > У тебя с детства заученное чувство вины и ты его на всех теперь проецируешь.

    Посмотри код SVN и Git. Сравни. Это объясняет критицизм Гита.

     
  • 3.50, Анонин (?), 16:03, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Просто сишка - это пыхыпэ для системного программирования.
    Порог вхождения околонулевой, кодить на си можно научить даже обезьяну, а на баги, cve и всякие ub всем пофиг. Надо же быстрее фигак-фигак и релизить.
    Вот сишка и вытеснила нормальные надежные языки типа Ада из масс-маркета, потому что сишные быдлокоделы оказались дешевле нормальных программистов, а остальным языкам достались только узкие ниши.

    Потом уже, после кучи факапов, сишники начали задумываться как сделать это Г надежным.
    И первая мисра вышла аж в 1998 для с89/90, это ж через столько лет после самой сишки.
    И в большей часте свелось к запретам всяких динамических штук, потому что и так было понятно, что заставить ЭТО быть надежным никто не может, а отвечать за факапы не хотелось... в общем проще было запретить))

     
     
  • 4.51, Аноним (15), 16:22, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Все так и есть... Забавно при этом читать, как эти сишные макаки авторитетно заявляют "уязвимости были, есть и будут, выбор ЯП от этого них спасает". Сразу чувствуется уровень экспертизы и компетенции :)
     
     
  • 5.56, name (??), 16:29, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Мне интересно, как ты комментируешь новости об уязвимостях на rust. Покраснев обходишь стороной?
     
  • 4.60, Аноним (60), 17:03, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Вот сишка и вытеснила нормальные надежные языки типа Ада из масс-маркета

    наркоман? Вытеснила оттуда, где Ады никогда не было? Ада появилась через 10 лет после С.

     
     
  • 5.62, Анонин (?), 17:18, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Первый стадарт на язык:
    Ada 87 - ISO 8652:1987 - 1987 год (хотя по факту еще раньше - ANSI/MIL-STD 1815A или "Ada 83" из 1983 без изменений перекочевал в ISO)
    ANSI C - 1989 год
     
     
  • 6.71, Аноним (71), 18:41, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Одно дело стандарт, другое, когда сделали. С был сделан в 1969 году, годом релиза 1973 считается.
     
  • 6.87, Аноним (60), 09:42, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И как же страуструп свой С++ писал поверх Сишки за два года до того, как эта сишка появилась. Да, еще UNIX написали на языке созданном в будущем, и sendmail. Сарказм, если что.
     
  • 4.73, Анонимусс (?), 19:45, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ада изначально разрабатывалась вояками для написания критических систем, систем реального времени и всякого embedded.
    Сишка создавалась как "переносной ассемблер" для  ̶б̶ы̶д̶л̶о̶к̶о̶д̶и̶н̶г̶а̶ быстрого переноса программок с одной архитектуры на другую во времена PDP-11. А за счет своей  ̶у̶б̶о̶г̶о̶с̶т̶и̶ простоты компилятор для него мог написать практически любой погромист, чем многие и развлекались в 70х-80х.
     
  • 4.95, Антонимка (?), 17:08, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто сишка - это пыхыпэ для системного программирования.

    Кодить можно на чём угодно научить кого угодно.

    А вот понимать чужой код... ;)))))))))))))

    Си - это то, как работает процессор. А потому и сейчас хорошо и ещё долго будет хорошо.

     
     
  • 5.98, Аноним (98), 22:09, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Си - это то, как работает процессор.

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

    > А потому и сейчас хорошо и ещё долго будет хорошо.

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

     
     
  • 6.103, Аноним (104), 09:57, 28/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > заодно получить пару cveшек

    это ерунда, через год ИИ всё будет находить а вот что делает наркоманский раст проверить невозможно

     
  • 2.7, НяшМяш (ok), 11:52, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    И кто-то внял голосу разума: https://github.com/Byron/gitoxide
     
     
  • 3.27, Аноним (27), 13:36, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уязвимость - не в доступе в неразрешенное место памяти. А в обработке симлинков. Ваш раст бы от этого не защитил.
     
     
  • 4.55, Аноним (15), 16:28, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Но наш Раст защитил бы от CVE-2023-29007 и CVE-2023-25815 из новости, о которых ты решил тактично не упоминать.
     
  • 2.14, Аноним (15), 12:19, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > ну что тут скажешь, уязвимости были, есть и будут, выбор ЯП от этого них спасает, такая уж архитектура современных пекарей и серверов

    Суть CVE-2023-29007 в том, что необучаемые сишечные кудесники по привычке опять влепили "char buf[1024]" вместо использования нормального строкового типа.

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

     
     
  • 3.24, Аноним (60), 13:10, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Суть CVE-2023-29007 в том, что необучаемые сишечные кудесники по привычке опять влепили "char buf[1024]" вместо использования нормального строкового типа.

    Эти твои нормальные строковые типы работают с кучей, чтоб раздвигать булк^W границы массива, а потому медленные. Этот char buf[1024] создается на стеке и это самый быстрый способ работать со строками.

     
     
  • 4.26, Аноним (15), 13:33, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ох уж эти сишечные душевные терзания с выбором между скоростью и пачкой CVE.

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

     
  • 4.43, Аноним (18), 15:03, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > это самый быстрый способ работать со строками

    и память освобождается автоматически

     
  • 4.44, Бывалый смузихлёб (?), 15:24, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > создается на стеке и это самый быстрый способ работать со строками.

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

     
  • 4.46, oficsu (ok), 15:31, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А ещё можно написать строковый тип, который со строками до 1024 работает "быстро" (мы, конечно же, поверим на слово, что разница в быстроте обнаружима), а больше — корректно, но корректность — это... знаете ли, как-то не по нашему, не по сишному
     
  • 4.58, ИмяХ (?), 16:34, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >>это самый быстрый

    поспешишь - людей насмешишь.

     
  • 4.70, Аноним (27), 18:29, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То есть с функцией alloca вы не знакомы.
     
     
  • 5.88, Аноним (60), 09:44, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Знаком, но она может стек повредить при неправильном использовании. Примерано как VLA.
     
     
  • 6.97, n00by (ok), 17:23, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну поскольку к тому же хорошо знакомы с оптимизацией, значит слышали о спекулятивном исполнении и предсказателе переходов. То есть проверка займёт 0 тактов.
     
  • 3.32, Аноним (32), 14:02, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >вместо использования нормального строкового типа.

    Это какого, например? Даже в Аде несколько типов строк, потому что универсального решения для строк еще не придумали.

     
     
  • 4.37, Аноним (15), 14:40, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Любого динамически аллоцируемого. Вот конкретный фикс этого char[1024]:

    https://github.com/git/git/commit/528290f8c61222433a8cf02fb7cfffa8438432b4

     
     
  • 5.40, Аноним (98), 14:48, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты чаво это! На куче выделять память очень долго!111
    Оно же тормозить на всяком мусоре будет!!111
     
  • 3.81, Аноньимъ (ok), 00:59, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Скажите спасибо что не на баше говнокодят.
     
  • 2.90, anonymous (??), 11:24, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тут не выбор ЯП решает, а архитектура. git - это нагромождение скриптов, понятное дело, что они глючат. Не хочешь таких багов, используй софт, который разрабатывается как единое целое, например Fossil
     

  • 1.8, Аноним (8), 11:57, 26/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот что бывает, когда вместо JSON используешь свой нескучный формат со своим нескучным парсером.
     
     
  • 2.10, Аноним (16), 12:01, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    JSON не нужен.
     
     
  • 3.12, Аноним (8), 12:08, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    JSON нужен, а нескучные форматы не нужны, тем более если они дают CVE RCE.
     
     
  • 4.17, Аноним (16), 12:40, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет не нужен. У всего должен быть свой формат, вся это универсальщина зло.
     
     
  • 5.20, Аноним (8), 12:49, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    JSON нужен, а нескучные форматы, несовместимые между собой - не нужны. Иначе для N форматов придется писать M конвертеров из одного нескучного формата в другой. А это N + M уязвимых библиотек -- настоящее раздолье для любителей RCE.
     
     
  • 6.29, Аноним (16), 13:39, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чего тогда doc не перейдет на json? Да потому что твой json ненужен прими это как данность.
     
     
  • 7.30, Аноним (8), 13:54, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Какой док? Док Эмметт Браун или какой-то другой? JSON - не серебряная пуля, применять его надо только там, где уместно. Хранение конфигов, предназначенных для человека - это уместно. А с твоими нескучными форматами наблюдаем RCE, потому что "шел сишник по буферу, видит - буфер уже закончился, вышел за его пределы и CVE-шнулся".
     
     
  • 8.33, Аноним (16), 14:06, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В этой жизни кроме хранения конфигов ещё очень много интересных задач, которые т... текст свёрнут, показать
     
     
  • 9.35, Аноним (8), 14:15, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы не назвал изобретение очередного нескучного формата и RCE-парсера к нему и... текст свёрнут, показать
     
     
  • 10.66, Michael Shigorin (ok), 17:51, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кажется, у нас впервые комментируют марсиане D... текст свёрнут, показать
     
     
  • 11.85, Матцумото (?), 09:26, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Первый контакт, получается... текст свёрнут, показать
     
  • 11.89, 1 (??), 09:52, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    или рептилоиды не впервые ... текст свёрнут, показать
     
  • 7.31, _RORO_ (ok), 13:57, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Может потому, что MS не пытались сделать нормальный формат, а наоборот более сложный, чтоб никто его полностью не смог реализовать (libreoffice так и не смогли)
     
     
  • 8.34, Аноним (16), 14:06, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нет формат документа сделанных на json это ещё хуже чем doc ... текст свёрнут, показать
     
  • 8.45, soarin (ok), 15:25, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какой-то бред 1 LibreOffice особо и не пытались У них нет такой задачи, потом... текст свёрнут, показать
     
  • 7.38, Аноним (15), 14:45, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Чего тогда doc не перейдет на json?

    Потому что современный doc (который docx) и так уже на html.

     
     
  • 8.39, Аноним (15), 14:47, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    фикс на xml ... текст свёрнут, показать
     
  • 8.42, _RORO_ (ok), 15:00, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    на xml Это разные вещи Хотя лучше бы на html был, как markdown Не лучший фор... текст свёрнут, показать
     
  • 7.41, Аноним (41), 14:56, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если ты про офисный doc, так его использовали до нулевых, а потом поняли, что получилась фигня и выкинули, перейдя на docx, который, внезапно, просто zip архив с набором xml файлов. Т.е. даже ms заюзала стандартизированные форматы, вместо самописных велосипедов.
     
     
  • 8.78, Аноним (-), 23:49, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Эта фигня является чем-то типа виртуальной ФС так то, и используется газилионо... большой текст свёрнут, показать
     
     
  • 9.84, soarin (ok), 06:10, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да Так и ODT к этому подбирается А то как новость про новый формат ODT Так та... текст свёрнут, показать
     
  • 2.21, Проффесор (?), 12:50, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Зачем нужен JSON там, где его никогда не читает глазами человек? Для увеличения объема данных раз так в 6-10 ?
     
     
  • 3.23, Аноним (8), 12:59, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    $GIT_DIR/config предназначен для человека. Если бы не предназначался, то было бы проще его оформить в бинарном виде безо всяких JSON. Хотя бы минимально изучай тему, тогда удастся не приземляться с грохотом на лужу.
     
     
  • 4.67, Michael Shigorin (ok), 17:53, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > $GIT_DIR/config предназначен для человека

    А json?

     
     
  • 5.105, PnD (??), 10:49, 28/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А json предназначен для удобной сериализации сообщений при передаче из точки А в точку Б.
    Отсутствие комментариев в дизайне как бы намекает.
    Да, с некоторой (но гораздо скромнее чем в XML) избыточностью. Зато с возможностью кожаного мешка влезть в процесс с минимальным инструментарием (jq например).

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

    Для человекообразных придумали TOML. В простых случаях можно ограничиться "INI" или YAML.
    Нотации вида "ключ = значение" получили широкое распространение хотя бы потому что прошиваются в голову в рамках школьного курса математики.

     
  • 2.77, Аноним (-), 23:45, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот что бывает, когда вместо JSON используешь свой нескучный формат со своим
    > нескучным парсером.

    Коректно парсить все приколы которые JSON позволяет - это целый отдельный квест. Далеко не любая программа вообще готова сжевать произвольно слепленый JSON без тех или иных спецэффектов.

     

  • 1.11, Аноним (98), 12:03, 26/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    CVE-2023-25815
    переполнение буфера при обработке специально оформленных файлов
    Не, ну как же без этого...
     
  • 1.36, ip1982 (ok), 14:35, 26/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > избегать выполнения команды "git apply --reject"

    Даже не знал о такой :)

     
  • 1.47, Аноним (47), 15:35, 26/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Просто строку обработать... C программисты во всей красе, лишь бы не аллоцировать кучу, зато сразу 5 CVE'шек на ровном месте.
     
     
  • 2.52, Иваня (?), 16:24, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Перепиши на Rust
     
     
  • 3.57, Аноним (47), 16:32, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Уже переписали, надо попробывать разные имплементации
     
     
  • 4.68, Michael Shigorin (ok), 17:53, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ошибку сами найдёте? (строго говоря, две, но сперва хотя бы очевидную)
     
     
  • 5.91, Аноним (91), 12:40, 27/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Почему вы ищите ошибки в написании, когда у вас у самого море ошибок в мышлении. Но да, за то знаете как писать. И скорее всего, эти знания только в этой области ограничивается. (В каждой дырке - затычка)
     
     
  • 6.101, Аноним (-), 04:01, 28/04/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.59, Аноним (15), 16:48, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Перепиши на Rust

    Так уже есть:

    https://github.com/Byron/gitoxide

     
     
  • 4.61, Аноним (60), 17:09, 26/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты Byron? Просили тебя переписать, а не тыкать в чужое переписывание.
     

  • 1.92, InuYasha (??), 13:10, 27/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    C'mon please help me doctor git -
    Моя бошка уже болит...
     

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



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

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