The OpenNET Project / Index page

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

Уязвимость в glibc, позволяющая получить root-доступ в системе

31.01.2024 13:33

Компания Qualys выявила опасную уязвимость (CVE-2023-6246) в стандартной Си-библиотеке Glibc, позволяющую через манипуляции с запуском SUID-приложений добиться выполнения своего кода с повышенными привилегиями. Исследователи смогли разработать рабочий эксплоит, позволяющий получить права root через манипуляцию с аргументами командной строки при запуске утилиты su.

Уязвимость вызвана переполнением буфера в функций __vsyslog_internal(), используемой при вызове функций syslog() и vsyslog(). Проблема возникает из-за ошибки при попытке вывода через макрос SYSLOG_HEADER слишком длинного имени приложения. При попытке расширения буфера с учётом длинного имени возникает сбой, после которого данные записываются в старый буфер изначального меньшего размера.

При организации атаки через утилиту su атакующий может изменить имя процесса при запуске приложения через замену значения argv[0], которое используется для получения информации об имени программы при выводе в лог, и добиться контролируемой перезаписи данных за пределами выделенного буфера. Далее переполнение можно использовать для перезаписи структуры nss_module в библиотеке nss для создания разделяемой библиотеки и её загрузки с правами root.

Проблема проявляется начиная с выпуска glibc 2.37, опубликованного в августе 2022 года и включающего изменение, обрабатывающее ситуацию с попыткой записи слишком больших сообщений. Вносящее уязвимость исправление было бэкпортировано в ветку glibc 2.36 и пакеты дистрибутивов с более старыми версиями glibc, так как отмеченное исправление устраняло уязвимость CVE-2022-39046, приводящую к утечке данных из кучи. Получилось так, что исправление неопасной уязвимости привело к появлению критической проблемы. Примечательно, что о похожей уязвимости в функции vsyslog() из состава библиотеки libc 5.4.3 сообщалось ещё в 1997 году.

Наличие уязвимости подтверждено в Debian 12/13, Ubuntu 23.04/23.10 и Fedora 37-39. Работа эксплоита для получения непривилегированным пользователем прав root продемонстрирована в полностью обновлённом окружении Fedora 38 со всеми включёнными в конфигурации по умолчанию механизмами защиты. Уязвимость может быть эксплуатирована только локально, так как требует передачи более 1024 байт через параметр argv[0] или аргумент ident в функции openlog().

Исправление уязвимости включено несколько часов назад в кодовую базу Glibc и войдёт в состав завтрашнего обновления Glibc 2.39, наряду с исправлением ещё двух уязвимостей (CVE-2023-6779, CVE-2023-6780) , также затрагивающих код __vsyslog_internal() и приводящих к переполнению буфера. Более того, компания Qualys предупредила о выявлении переполнения буфера в реализации функции qsort(), которое не было отнесено разработчиками Glibc к числу уязвимостей, так как эксплуатация подразумевает использование в качестве аргумента при вызове qsort нетипичной функции сравнения, возвращающей разницу сравниваемых параметров.

Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Протестировать подверженность системы уязвимости можно следующей командой:


   $ (exec -a "`printf '%0128000x' 1`" /usr/bin/su < /dev/null)


  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Уязвимость в Glibc ld.so, позволяющая получить права root в большинстве дистрибутивов Linux
  3. OpenNews: Для избавления Glibc от проблемы 2038 года предложено прекратить использование utmp
  4. OpenNews: Критическая уязвимость в реализации функции memcpy для ARMv7 из состава Glibc
  5. OpenNews: Уязвимость в Glibc, позволяющая поднять привилегии в системе
  6. OpenNews: Уязвимость в Glibc ld.so, позволяющая поднять свои привилегии в системе
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60528-glibc
Ключевые слова: glibc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (145) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:55, 31/01/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]
  • +3 +/
     

     ....ответы скрыты модератором (2)

  • 1.2, Аноним (2), 13:58, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Можно примеры вывода команды в конце статьи на подверженной системе и на патченной?
     
     
  • 2.8, Аноним (8), 14:07, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На подверженной будет segmentation fault.

     
     
  • 3.20, Аноним (20), 14:31, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если у меня не падает, всё в порядке? Теперь хотелось бы выяснить, почему.
     
     
  • 4.25, Пряник (?), 14:40, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Баг недавно появился. У тебя слишком старый libc.
     
     
  • 5.29, Аноним (20), 14:46, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Баг недавно появился. У тебя слишком старый libc.

    $  ld.so --version
    ld.so (Gentoo 2.38-r9 (patchset 9)) stable release version 2.38.
    Copyright (C) 2023 Free Software Foundation, Inc.

     
     
  • 6.45, Пряник (?), 16:08, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это линкер. Лучше так ldd --version. У меня 2.12 и бага нет. А на другой тачке 2.36 там есть баг.
     
     
  • 7.52, Аноним (20), 16:37, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это линкер. Лучше так ldd --version. У меня 2.12 и бага нет.
    > А на другой тачке 2.36 там есть баг.

    Это бинарный загрузчик glibc. Не лучше, в gentoo ldd это скрипт.

    А вот кстати у musl

    $  /usr/x86_64-linux-musl/lib/ld-musl-x86_64.so.1 --version
    musl libc (x86_64)
    Version 1.2.4

     
  • 7.53, Sw00p aka Jerom (?), 16:47, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    написано, что RHEL подвержен, а в оракловом (GNU libc) 2.34 (glibc-2.34-83.0.1.el9_3.7.x86_64) и результат собственно

    много нулей и Authentication failure

     
  • 7.103, Аноним (-), 02:33, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А можно еще веселее, вот так code usr lib x86_64-linux-gnu libc so 6 GNU ... большой текст свёрнут, показать
     
     
  • 8.141, Пряник (?), 13:44, 01/02/2024 Скрыто ботом-модератором
  • +/
     
  • 3.40, Аноним (40), 15:33, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    У меня так (glibc 2.38):

    bash: syntax error near unexpected token 'exec'

     
     
  • 4.46, Пряник (?), 16:10, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Скобки обязательно.

    /me выключил libastral.so

     
  • 2.28, anonymous (??), 14:46, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Linux astra 5.4.0-162-generic
    : Сбой при проверке подлинности
     
  • 2.129, OpenEcho (?), 10:48, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно примеры вывода команды в конце статьи на подверженной системе и на патченной?

    Не подверженная:
    '''
        Password: 00000000000000....ну очень много нулей... 00000001: Authentication failure
    '''

     

  • 1.3, Аноним (3), 13:58, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –13 +/
    Нашли, опубликовали, исправили! Молодцы! Работаем, братья!
     
  • 1.5, Аноним (5), 14:00, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Допатчились...
     
     
  • 2.16, нах. (?), 14:27, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    поулучшайкали, да.
     
     
  • 3.56, Бывалый смузихлёб (?), 16:52, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    это больше похоже на нечто умышленное
     
     
  • 4.72, нах. (?), 19:03, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну хз... возможно это конкретное нет, оно больше похоже на очередного альтернативно-одаренного по квотам, отрабатывающего корм - но где умный человек прячет лист?

    (я все еще под впечатлением недавно показанной нам подрывной деятельности некоего рассейского института и кернельных божков-майнтейнеров все это уг принявших как родное)

     
     
  • 5.133, yet another anonymous (?), 11:17, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > я все еще под впечатлением недавно показанной нам подрывной деятельности некоего рассейского института и кернельных божков-майнтейнеров все это уг принявших как родное

    Кинь намёк, куда посмотреть/что поискать. Интересно.

     
     
  • 6.136, n00by (ok), 12:20, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> я все еще под впечатлением недавно показанной нам подрывной деятельности некоего рассейского института и кернельных божков-майнтейнеров все это уг принявших как родное
    > Кинь намёк, куда посмотреть/что поискать. Интересно.

    https://www.opennet.ru/openforum/vsluhforumID3/132672.html#150

    Приняли-то вроде понятно почему. Если бы я наделал в ядре технологических отверстий, тоже принимал бы такое с радостью. Вроде работы ведутся, что-то обнаруживается, исправляется. Можно доверять!

     
     
  • 7.138, нах. (?), 12:35, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А, во, оно самое.

    Там все прекрасно - и то что нашли, и то что приняли, и то ЧТО приняли.

    Если будете еще какие-то ссылки из того списка открывать - пожалуй, лучше сюда не пишите. Я опасаюсь что за мной придут.

     
     
  • 8.139, n00by (ok), 13:01, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Пока что пришли только за заявившим нам не нужно создавать чего-то отдельного, ... текст свёрнут, показать
     
     
  • 9.142, нах. (?), 13:51, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    когда кончатся такие - придут за нетакими ... текст свёрнут, показать
     
     
  • 10.148, n00by (ok), 07:46, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хватит уже пессимизировать Советую поискать сайтенг того кандидата наук безопас... текст свёрнут, показать
     
  • 6.137, нах. (?), 12:32, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    где-то тут какой-то васян спрашивал "иде ж наши скрепные исследования безопастносте в пику этим вражеским" - и ему такое образцовое показали. Я, честно говоря, просто ткнул в первую попавшуюся ссылку из большой простыни, и не рискнул после такого тыкать в еще какую-нибудь. Если даже это просто ретроградный меркурий влияет и все остальные там муха не подкопается, то лучше с такой кармой ничего больше не открывать.

    Доеду до дома, пришлю еще раз, если сам не найдешь.

     
  • 3.111, Аноним (-), 03:37, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > поулучшайкали, да.

    А что тебе не нравится? Смотри какое улучшение? Была скучная, лажовая вулна. А тут наконец дочинили до полноценного рут доступа. И между прочим если вон там с ipv6 поди еще найди лоха с неходовой версией кернела, да еще в локальной сети (кто бы это мог быть?!) - то вот тут уже более-менее употребительная версия либы, можно и укатать уже куда-нить.

     

  • 1.6, Аноним (6), 14:05, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Думаю дыр там еще не мало, пора подходить  к вопросу серъезно и выпилить все suid проги и отключить эту опцию
     
  • 1.7, Карлос Сношайтилис (ok), 14:07, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Зато "живой" код, а уязвимости дело житейское, кто их боится
     
     
  • 2.66, Самый Лучший Гусь (?), 18:27, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я боюсь

    может вскроют чего и потом что делать?

     

  • 1.9, Аноним (-), 14:08, 31/01/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]
  • +2 +/
     
  • 1.11, birdie (ok), 14:14, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Fedora 39:

    su[1085047]: segfault at 5640b4d5c000 ip 00007fa3ed2db3d2 sp 00007ffc02786e28 error 6 in libc.so.6[7fa3ed18a000+160000] likely on CPU 10 (core 5, socket 0)

    Пофиксить проблему в Fedora можно так:

    sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-aec80d6e8a

    Пакет уже в testing: https://bodhi.fedoraproject.org/updates/FEDORA-2024-aec80d6e8a

    Что я и сделал.

     
     
  • 2.78, Аноньимъ (ok), 19:41, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • –7 +/
    > Пофиксить проблему в Fedora можно так:

    sudo install Arch

     

  • 1.12, Аноним (-), 14:17, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Дебианщики однако сработали оперативно - сперва прилетел фикс на либу, а ПОТОМ появилась новость на опеннете.
     
  • 1.14, Пряник (?), 14:19, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    > При попытке расширения буфера с учётом длинного имени возникает сбой, после которого данные записываются в старый буфер изначального меньшего размера.

    То есть мы итак понимаем, что имя слишком длинное и знаем длину буфера и функция вернула -1, но мы всё равно запишем данные и продолжим работать вместо perror...

     
     
  • 2.15, Аноним (-), 14:26, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Главное скорость, а не корретность!
    "ничего страшного, ну перезагрузит юзер свой комп" (с)
    А если подитожить - то стандартная уязвимость дыряшки.
    Как показала новость "мы делаем одни и те же ошибки с 97 года")))
     
     
  • 3.17, Пряник (?), 14:28, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Выполнить perror и завершить программу было бы ещё быстрее. Автор исходил из точки зрения "выполнить любой ценой".
     
     
  • 4.19, Аноним (-), 14:30, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Автор исходил из точки зрения "выполнить любой ценой".

    "Ценой чего? Ценой рута!"

    Интересно, была ли хоть какая-то причина для этого?

     
     
  • 5.24, Пряник (?), 14:38, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не будем судить строго, чел исправлял другую уязвимость. Хорошо, что заметили. Но что бы мы делали без Qualys?
     
     
  • 6.31, Аноним (-), 14:57, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я не про это.
    Была ли веская причина пытаться выполнить "выполнить любой ценой".
    Почему бросить ошибку не вариант?
     
     
  • 7.36, Совершенно другой аноним (?), 15:25, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Куда бросить? Обычно запись в syslog, насколько я понимаю, как-раз идёт тогда, когда возникает ситуация, которую обязательно надо запротоколировать.
     
     
  • 8.49, Аноним (-), 16:27, 31/01/2024 Скрыто ботом-модератором
  • +1 +/
     
  • 6.54, Sw00p aka Jerom (?), 16:50, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Но что бы мы делали без Qualys?

    они давно знали про эту багу, с момента патча на CVE-2022-39046.

     
  • 6.112, Аноним (-), 03:50, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не будем судить строго, чел исправлял другую уязвимость. Хорошо, что заметили. Но
    > что бы мы делали без Qualys?

    Блин, вообще-то лучше бы как раз не исправлял. Это именно тот случай когда "не умеешь - не берись". Ну его нафиг такие фиксы - "а кто сегодня цель, медведь или охотник?!"

     

  • 1.18, Аноним (-), 14:29, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Ахаха! Фиксили одну CVE и выпрограммировали еще большую))
    Зато успешно бекпортировали в старые версии, молодцы.

    > данные записываются в старый буфер изначального меньшего размера

    И опять out-of-bounds write *facepalm*

     
  • 1.21, Аноним (21), 14:31, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Чуток не по теме
    Сколько версий glibc может быть в ОС ?
     
     
  • 2.23, Пряник (?), 14:36, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Через ldd выполни любой бинарник.
     
  • 2.76, Аноним (76), 19:21, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Сколько версий glibc может быть в ОС ?

    Да хоть все, что существуют в природе.

     
  • 2.134, yet another anonymous (?), 11:21, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Выше резонно сказали что сколько угодно. Но есть ньюансы по пользованию этого.
     

  • 1.22, Пряник (?), 14:34, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Выложите кто-нибудь эксплойт с подстановкой shellcode через nss и да наступет конец света.
     
     
  • 2.35, Аноним (35), 15:22, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем nss, если есть intel me
     

  • 1.26, KroTozeR (ok), 14:41, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И любители статических массивов после этого будут сказки про скорость и надёжность рассказывать, ага...
     
     
  • 2.126, OpenEcho (?), 10:36, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > И любители статических массивов после этого будут сказки про скорость и надёжность рассказывать, ага...

    При статике будет подверженна только одна конкретня программа, а при шаред - вся система

     

  • 1.27, Аноним (27), 14:41, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Исследователи смогли разработать рабочий эксплоит, позволяющий получить права root через манипуляцию с аргументами командной строки при запуске утилиты su.

    а не проще так называемый пароль ввести ?

     
     
  • 2.30, Аноним (-), 14:56, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > а не проще так называемый пароль ввести ?

    Так ты его не знаешь.
    А тут ввел условный мусор и хоба! у тебя рут и даже пароль не нужен

     
     
  • 3.127, OpenEcho (?), 10:38, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А тут ввел условный мусор и хоба! у тебя рут и даже пароль не нужен

    Так вот как passkey оказывается устроен! :)

     

  • 1.32, Аноним (32), 15:08, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    ~ % (exec -a "'printf '%0128000x' 1'" /usr/bin/su < /dev/null)
    Can't load history: -a: Команда не найдена.

    Чо?

    // Deban 12, tcsh.

     
     
  • 2.33, Аноним (33), 15:17, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что нужно вводить  '$ (exec ...', а не '~ % (exec ...'
     
  • 2.60, Аноним (60), 17:40, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > // Deban 12, tcsh.

    типа похвастался, что в tcsh конкретно эта команда не работает или что? Особо желающие найдут как запустить

     
     
  • 3.74, Аноним (32), 19:17, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Особо желающие как запустить найдут как...

    Очень особо желающие запустить найдут, будут молчать и запускать когда надо...

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

     
     
  • 4.84, Аноним (60), 21:07, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Очень очень очень особо желающие пойдут работать в интел и будут дорабатывать их ME...

    так к чему таки было по tcsh? Там '-a' у exec просто не реализавано и даже если нету баша, то найдется питон, перл или еще чего

     
     
  • 5.150, tester (??), 12:19, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > дорабатывать МЕ

    Задача уже выполнена на 110% как и было изначально задумано :D

     

  • 1.34, Аноним (27), 15:19, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подскажите дистр в котором есть только один пользователь root а то я так переживаю каждый раз читая новости - вдруг пароль забуду а эксплоит ещё не опубликован..
     
     
  • 2.125, Роман (??), 09:52, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    не бойся - сделаешь init=/bin/bash и снова станешь рутом, сесурити и юзабилити!
     

  • 1.37, Аноним (37), 15:26, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня один вопрос - зачем glibc превратили в помойку из разнородных разнообразных функций какого попало назначерия вместо того, чтобы быть каждая отдельная предметная область (syslog, sjlj, l10n, DNS, сокеты, aio, сигналы, парсинг командной строки, парсинг и инициализация вектора дополнительной информации процесса, конверсия кодировок, нестандартная работа со строками, IPC, sysconf, SystemTap, etc... SystemD-хэйтеры, что с лицом?!) была в отдельной независимо обновляемой и подменяемой либе, а в glibc оставить только стандартную библиотеку языка Си?
     
     
  • 2.41, Аноним (-), 15:36, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Glibc, кроме Сишной стандартной библиотеки, также должен поддерживать Позикс-стандарт. Ну да принципе всё! Ах да ещё есть ГНУ-тые нестандартные библиотеки - ну это сам понимаешь святое. Тем более, что в будущем некоторые ГНУ-тые расширения могут стать частью Сишной стандартной библиотеки.
     
     
  • 3.51, Аноним (51), 16:29, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >также должен поддерживать

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

     
     
  • 4.61, Аноним (61), 17:48, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Есть свитые вещчи, которые нельзя трогать. POSIX-стандарт, Стандартная библиотека чистаго Си, библиотеки GNU, UNIX-уэй, Строгый копилефт.
     
     
  • 5.86, Аноним (86), 21:19, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да я знаю. Давно пора вынести из мавзолея.
     
  • 2.55, Бывалый смузихлёб (?), 16:51, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    в итоге будет то же самое, но разнесённое на кучу блоков, связанных между собой
     
     
  • 3.59, Аноним (59), 17:39, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эти блоки хоть можно по одному step-by-step и с выбором реализации конечным пользователем
    1. отдельно друг от друга обновлять
    2. на раст переписывать.
     
     
  • 4.64, Аноним (60), 18:14, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    3. кричать, что мэнтейнеры занимаются глупостями и строгают сотни пакетов
     
     
  • 5.85, Аноним (86), 21:14, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Количество пакетов — не проблема, если их сборка идоставка автоматизированы.
     
     
  • 6.87, Аноним (60), 21:53, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    да это у некоторых местных конечных пользователей какие-то проблемы с тем, что в дебиан дробят пакеты (как пример)
     
  • 2.116, n00by (ok), 07:43, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что бы вместо Linux было GNU/Linux и настоящая свобода - линковаться только с идеологически верной libc.so
     

  • 1.38, Аноним (40), 15:29, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    bash: syntax error near unexpected token 'exec'
     
     
  • 2.58, vdb (?), 17:27, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    man bash. Пробел между $ и ( не нужен.
     
     
  • 3.70, Аноним (60), 18:53, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    пробел там между приглашением баша ($) и командой, работает оно и без него
     

  • 1.39, Аноним (-), 15:30, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Исправление уязвимости включено несколько часов назад в кодовую базу Glibc и войдёт в состав завтрашнего обновления Glibc 2.39, наряду с исправлением ещё двух уязвимостей

    Доживите "до завтра". Как страшно жить!

     
     
  • 2.43, Аноним (43), 15:44, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    'root' заблокируй, что уже давно и рекомендуется. И тогда при запуске утилиты 'su' ничего не произойдёт сегодня и завтра, и никогда. Use doas/sudo, Luke.
     
     
  • 3.48, Аноним (48), 16:13, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    sudo su -s /bin/bash
    блокировщики хреновы...
     
  • 3.57, Аноним (-), 17:00, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > 'root' заблокируй, что уже давно и рекомендуется. И тогда при запуске
    > утилиты 'su' ничего не произойдёт сегодня и завтра, и никогда. Use doas/sudo, Luke.

    А как там ваш sudoedit поживает? Уже все CVEшки отловили - или еще добавки ждать? При том это - вот именно вулны - именно в sudo, а не.

    И кстати sudo так то тоже suid'ный бинарник, если что. Только еще пару крутых CVE недавно подогнал.

     

  • 1.42, Шарп (ok), 15:42, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Инструментарий работы со строками и вообще с буферами в сишке просто отвратительный. Требует от разработчика держать в голове кучу условий, что в итоге приводит к появлению уязвимостей.

    Сколько бы у человека не было опыта в сишке, он всё равно рано или поздно запишет что-то за пределы буфера и войдёт в анналы истории. Это подтверждается тем фактом, что подобные уязвимости находят в совершенно разнообразном софте: от хипсторских поделок из желудей, до творений прожжёных хакеров с 50 годами опыта.

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

     
     
  • 2.44, Аноним (27), 15:52, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Тут дело в самом языке программирования.

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

     
     
  • 3.81, Аноним (-), 20:50, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты можешь пояснить свою логику? Она для меня звучит так, что если нет ничего идеального, то нет смысла вообще стремиться к идеалу, можно расслабиться и не париться о багах вообще. Выглядит глупостью, да? Вряд ли же ты такой глупый, откуда и вопрос: ты можешь пояснить свою логику?
     
     
  • 4.91, Аноним (27), 22:27, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ты можешь пояснить свою логику?

    у тебя ложное чувство защищённости от того что ты не пишешь на С

     
     
  • 5.113, Аноним (-), 04:43, 01/02/2024 Скрыто ботом-модератором
  • +1 +/
     
  • 2.47, Пряник (?), 16:12, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Когда перепишешь всё на расте?
     
     
  • 3.50, Аноним (-), 16:28, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эээ? А кто говорит про раст?
    Может стоит просто взять и в след. версии СИ добавить какие-то улучшения?
    Ну типа чтобы язык развивался, а не оставаля на уровне пещерных деградантов, которые за границы массива выходят или буфер переполняют, почти что всегда?

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

     
     
  • 4.62, Аноним (62), 17:54, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А давайте на карбоновый велосипед пришаманим шайтан труба чугунный, чтобы громко... большой текст свёрнут, показать
     
     
  • 5.65, Аноним (-), 18:15, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Сишка именно поэтому и быстра что ненужных десятков действий попросту нет

    Так основная проблема, что некоторых НУЖНЫХ действий тоже нет! О них постоянно забывают!

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

    Угу, вот эта новость - прям прекрасный пример, что не везде нужно проверять размер буфера, перед тем как в него пишешь)))

    Ну и эмэйзин спиид сишки - это миф. Тот же D компилируется в сравнимо быстрый код, если даже не быстрее.

     
     
  • 6.131, Аноним (131), 11:05, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Тот же D компилируется в сравнимо быстрый код, если даже не быстрее.

    Доказательств, конечно же, не будет

     
  • 5.67, Аноним (-), 18:32, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Чиво У тебя есть велосипед из овна и палок, собранный с помощью синей изоленты... большой текст свёрнут, показать
     
  • 5.93, tty0 (?), 22:37, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы правы, сам язык трогать смысла особого нет, но можно расширить анализатор и добавить правила управления переменными и видимости. Получится как Раст, только С.
    Нафигачить кучу макросов для управления видимостью, границами и т.п.
    И тогда бы количество уязвимостей стало куда меньше.
    Нет, нужно все снова переписать.
     
     
  • 6.144, Аноним (144), 04:37, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так думаю и сделают в итоге, а переписывать никто в своем уме не станет, если деньги не чужие. Вон одни уже хотели переписать на модно-молодежный, потом удивленно "а чего это такой эстимейт большой?" Экономический фактор никогда не нужно недооценивать. Так что жить нам всем с Сишкой еще долго, но обновить ее требуется.
     
  • 4.130, Аноним (131), 11:03, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Может стоит просто взять и в след. версии СИ добавить какие-то улучшения?

    Так уже сделали, назвали C++
    Там всякие умные указатели, векторы, деструкторы
    Получился небезопасный, переусложнённый, неудобный, плохо совместимый (например код с STD компилирующийся на одном компиляторе не работает на другом) гибрид

     
  • 4.143, Пряник (?), 13:58, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И это следующая версия Си называется Раст.
     
     
  • 5.145, Аноним (144), 04:38, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Скрее Zig или Vlang, он лучше совместим с Си.
     

  • 1.63, Андрей (??), 17:54, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    000...0000000000001: должен запускаться из терминала
     
  • 1.68, America First (?), 18:45, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Си -- это такой же анахронизм как и ручное управление зажиганием и стеклоочистителями в автомобиле. Явно же видно что язык давно перестал отвечать требованиям времени, сколько можно за него цепляться? Отпустите сишку, она не вернёт вам вашу молодость!
     
     
  • 2.73, Аноним (32), 19:13, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Только вот модные молодёжные языки никаких проблем не решают, только добавляют новые.
     
     
  • 3.105, Прохожий (??), 02:52, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Конечно, решают. Каждый в своей области применения.
     
     
  • 4.146, Аноним (144), 04:39, 02/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И добавляют тоже в своей области применения.
     
  • 2.75, Аноним (-), 19:19, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    О, хороший пример.
    Помню как мне втирали что "ненужОн мне ваш abs и esp! я сам могу осуществлять прерывистое торможение!".
    Или "зачем мне кондиционер, с ним расход больше! у меня окошко есть"
     
     
  • 3.80, Аноним (80), 20:41, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    в моей машыне нет абс ёпс и конь диционера
    ЧЯДНТ?
     
     
  • 4.83, Аноним (-), 20:58, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > в моей машыне нет абс ёпс и конь диционера

    Думаю подушек у тебя тоже нет.
    Ну, можешь еще ставить заглушку вместо ремня и сделашь доброе дело для всего мира))

     
  • 4.104, Прохожий (??), 02:51, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты подвергаешь риску свою жизнь, жизнь твоих пассажиров и жизнь других участников движения. Думал, это очевидные вещи. Ан, нет.
     
  • 4.115, нах. (?), 07:38, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    На КраЗе ездишь? Все так.

    "Конечно у него есть дворник - прекрасный дворник, отлично справляется со своей задачей - смахнуть пригоршню-другую щебенки, просыпанную экскаватором на лобовое стекло. У него даже есть зеркала - в них видно примерно тот самый экскаватор, чтоб сдавая задом в него не приехать." (c)

    Только, пожалуйста, не езди по Ленинскому, как тот чувак что оставил эту замечательную памятку.
    В карьере - да пожалуйста. Где-нибудь в северной Якутии кондиционер и правда без надобности.

     
  • 2.77, Аноним (77), 19:33, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Си - это кроссплатформерный ассемблер. Ассемблер тоже предлагаешь отпустить? Там и за границы буфера можно выйти и dword переполнить.
     
     
  • 3.106, Прохожий (??), 02:56, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На ассемблере большие сложные программы не пишут (разве что ради удовольствия или образования). Так, отдельные вставки могут быть. Почему? Потому что компилятор чаще даст лучший код, чем кожаный мешок.

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

     
     
  • 4.117, нах. (?), 07:48, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Си - да, кроссплатформенен.

    низкоуровневый код на нем - внезапно, нет.

    А даже когда получается кроссплатформенный - посмотри на досуге КАК пишутся его куски, рассчитанные на оптимизацию для современных процессоров без интрисиков. У интела где-то были прекрасные образцы на тему. Там a) "что за чушь?! ЧТО ЭТО ВООБЩЕ тут написано?" b) ну разумеется оно будет иметь безумную неэффективность на всем кроме того под что написано - и только в том компиляторе который угадает что это безумие - обращение к нему для оптимизации.

    Просто так банально меньше колотить по кнопкам и меньше места для ошибок, сюрприиз.

    И только для этого и придумывали Си. А критически сложный и важный софт можешь писать на аде. Только это точно будут не операционные системы. И вообще скорее всего что-то очень и очень примитивное.

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

    А ариан так и вообще й-панула.

     
  • 2.82, Аноним (82), 20:57, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Нет, проблема в том, что ее использует там, где нельзя - в прикладе, в системщине и на т.п. высоком уровне. Её место - это ядра ОС. И всё. Когда люди это поймут всем будет чуть лучше жить.
     
     
  • 3.89, Аноним (-), 22:09, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так в ядре тоже куча уязвимостей, получений рута и дырок.

    Или под ядром ты имеешь в виду что-то супер миниатюрное, типа seL4?
    Ну не больше 10к строк кода, ну чтобы пожно было за вечер все прочитать пару раз.
    Но тогда мы придем к микроядрам, а лапчатые их не любят.

     
     
  • 4.102, Аноним (82), 01:45, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет, я имею ввиду низкоуровневую работу с оборудованием, где си пока ещё действительно оправдан. Это достаточно узкая ниша.
     
     
  • 5.107, Прохожий (??), 02:58, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    То есть, драйверы устройств? Уже и там не оправдан.
     
     
  • 6.118, нах. (?), 07:49, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    но сдох почему-то ресдох.
     
     
  • 7.151, Прохожий (??), 00:55, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и что? Домашний проект же. Кому какая разница? Кстати, на реальном железе запускается (фотки на сайте есть, можно глянуть).
     
  • 2.114, нах. (?), 07:33, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    к сожалению, автоматическое пока не придумали.

    Точнее, то что придумали - это нечто типа автомагического детектора дождя в стеклоочистителе.
    В самый неподходящий момент у тебя перед мордой машут дворники. (а еще он глючит и ломается - и они машут ярким солнечным днем). А дохлую муху ВСЕ РАВНО с-ка надо смывать вручную!

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

    То же самое с модными современными язычками. Написать что-то работающее - труд нечеловеческий, потому что вместо кода ты бегаешь от борова. А там где надо работать с данными извне (тот самый источник уязвимостей) - unsafe { мамой клянус что безопастно }

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

    Во всяком случае пока никто не придумал процессор, умеющий хотя бы оперировать - строками. Как адепты модных язычков любят - чтоб гарантированной длинны и все такое. Нет, зараза - все норовят null terminated byte sequences вместо них сделать.

     
     
  • 3.120, Аноним (120), 08:24, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > к сожалению, автоматическое пока не придумали.

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

     

  • 1.71, Аноним (71), 18:57, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Пора уже переходить на musl похоже.
     
  • 1.79, Аноним (79), 19:45, 31/01/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]
  • +1 +/
     
  • 1.88, FF (?), 22:01, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    $ (exec -a "'printf '%0128000x' 1'" /usr/bin/su < /dev/null)
    -bash: синтаксическая ошибка рядом с неожиданным маркером «exec»

    Напишите как еще можно ввести команду что бы не получить
    >> с неожиданным маркером «exec»

     
     
  • 2.90, Аноним (60), 22:18, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    доллар убери
     
     
  • 3.132, OpenEcho (?), 11:12, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > доллар убери

    Так у него backspace поломан доходит то доллара и усё...

    Чтоб убрать долар переведи его на кошелек 43f756fed6f1f24d3e87e34a783240a3

     

  • 1.92, Skullnet (ok), 22:33, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уязвимость не работает.
     
     
  • 2.94, FF (?), 23:07, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Пришлось так ввести показало сетку нолей в терминале и закрылся терминал

    exec -a "'printf '%0128000x' 1'" /usr/bin/su < /dev/null

     
     
  • 3.95, Skullnet (ok), 23:26, 31/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я об этом и говорю, сегфолт есть, а рута нет.
     
     
  • 4.98, Аноним (60), 00:09, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да кто ж вам эксплоит выложит на публичном ресурсе, когда сервера еще могут быть не патчены?
    Чего делать написано
    > Далее переполнение можно использовать для перезаписи структуры nss_module в библиотеке nss для создания разделяемой библиотеки и её загрузки с правами root.

    дальше сами нагрузку придумывайте или покупайте

     
  • 4.110, Аноним (-), 03:29, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Я об этом и говорю, сегфолт есть, а рута нет.

    Вы там точно нормальны? Это демонстрационная версия - вызывающая крах, если вулн был. Вы что, хотели получить "боевую" версию эксплойта и все расхакать? Вот прям в новости на опеннете?

     
     
  • 5.119, нах. (?), 07:53, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А чо нет-то? Во времена когда трава была зеленее, правда, было принято иногда добавлять в shellcode немного отсебятинки перед такой публикацией - ну там коннект на свой сервер и еще один шелл к сокету прицепить, а то ж чего добру пропадать - васяну все равно его комп ненужен если он там такое запускает.

     
  • 3.99, нах. (?), 00:35, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    эксперты опеннета даже башем пользоваться не обучены.

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

     
     
  • 4.123, FF (?), 09:02, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >>Тебе там скобочки в оригинале специально нарисовали чтоб терминал не закрывался.

    Но вы ж эксперты, вы даже bash не осилили


    И че сделал в скобочках

    (exec -a "'printf '%0128000x' 1'" /usr/bin/su < /dev/null)
    Пароль: 'printf '%0128000x' 1': Сбой при проверке подлинности

    А , понял это я брал с канала с этого канала https://www.youtube.com/@griggorii и он как я понял собирает собственные glib и все остальное с mesa

     

  • 1.96, Медведь (ok), 23:42, 31/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    $  (exec -a "'printf '%0128000x' 1'" /usr/bin/su < /dev/null)
    Пароль: malloc(): invalid size (unsorted)
    Аварийный останов (образ памяти сброшен на диск)

    Это уязвимость есть или ее нет?

     
     
  • 2.100, helloworld (?), 00:38, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Есть
     
  • 2.101, нах. (?), 00:41, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это - есть.

    (еще один эксперт опеннета на наши головы - но этот хотя бы правильный вопрос правильно задал.
    Почти правильно. Пожалуйста, на будущее, ставь LC_ALL=C перед тем как скринить вывод.)

     
     
  • 3.108, Sw00p aka Jerom (?), 03:13, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > еще один эксперт опеннета на наши головы

    внуки ваши :)

     

  • 1.121, Аноним (-), 08:28, 01/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Про чистый Си ходит много легенд Один из них то, что на нём пишут диды Не со... большой текст свёрнут, показать
     
     
  • 2.122, n00by (ok), 08:48, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Специально для тебя нашёл (на stackoverflow, кто бы мог подумать) пример из реального мира:



    int main()
    {
        unsigned long c, c2, p2, pol = 0xEDB88320;
        long n, k;
        {
            printf("CRC32 Adjuster (c) 2001 by RElf @ HHT/2\n");
            printf("Length of data: "); scanf_s("%ld", &n);
            printf("Offset to patch: "); scanf_s("%ld", &k);
            n = (n - k) << 3;
            printf("Current CRC32: 0x"); scanf_s("%x", &c);
            printf("Desired CRC32: 0x"); scanf_s("%x", &c2);
            c ^= c2;
            p2 = (pol << 1) | 1;
            while (n--) if (c & 0x80000000) c = (c << 1) ^ p2; else c <<= 1;
            printf("XOR masks:%02X%02X%02X%02X\n", c & 0xff, (c >> 8) & 0xff, (c >> 16) & 0xff, c >> 24);
        }
        return 0;
    }



    Кстати, именно на публикации вот такого в своих книгах КК заработал O-1, а ты даже не знаешь, что это.
     
     
  • 3.128, Аноним (128), 10:38, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Красивое...
    А вы продаете или только на визы меняете?
     
  • 2.140, нах. (?), 13:19, 01/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    тааак, я бы попросил. Когда я учил Си по известной в узких кругах книжке - никакого этого вашего борланд еще в помине не было (а когда и появился то был turbo ЦЫ и тоже не про плюсы... драйвер на таком написать -  ну надо было сильно в оппу дать... а потом до нас добрался ms c который тоже для драйверов был не оч, но хоть не падал по внутренним ошибкам на валидном коде)

    Коммерческих юниксов тогда тоже не было, точнее был всеми давно забытый venix, но я хз кто им на самом деле пользовался а не просто - уууу аааа так бывает. Просто потому что не было ни у кого железа на котором их можно было запускать - КОКОМ не велел (помнишь такого зверя?)

    ДЕМОС (вместе с инмосом и ипкминавтопрома без названия) были ни разу не крадеными, оригинал просто не запускался из-за мелких отличий СМ-4 от PDP которую она косплеила. И относились к оригиналам (которых еще и было больше одного) примерно как запоржопец к фиат600 (последние до сих пор где-то ездиют, а к первому двадцать лет назад на всем харьковском рынке не нашлось бензонасоса) - общее что-то конечно угадывается, но детали не подходят.

    > остальгирует по языку "Си с классами"

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

     
  • 2.152, Андрей (??), 11:26, 03/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо «про всех», я на Дт3-28 Си учил. А там ОС клон PDP-11. По книжке К&R. «минус один» - это уже не «все».
     

  • 1.147, nich (ok), 07:17, 02/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В убунте LTS нет уязвимости.  Там glibc 2.35-0ubuntu3.6.
     

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



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

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