The OpenNET Project / Index page

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

Опасная уязвимость в GNU grep

26.12.2012 17:56

В утилите GNU grep обнаружена опасная уязвимость, которая проявляется при обработке специально оформленного входного потока и может быть использована для инициирования отказа в обслуживании, а также, возможно, для выполнения произвольного кода. Подвержены выпуски утилиты GNU grep до версии 2.11. В выпуске 2.11, вышедшем в начале марта 2012 года, эта уязвимость была исправлена, однако не было сделано никаких специальных анонсов о том, что ошибка имеет отношение к проблемам с безопасностью.

Проблема связана с переполнением памяти при обработке длинных строк (на архитектуре x86_64 длина опасной строки составляет порядка 2 Гб). Ошибка была случайно обнаружена одним из пользователей Ubuntu, который пытался обрабатывать grep'ом вывод команды "ls -la" на своем хосте. Уязвимости присвоен идентификатор CVE-2012-5667.

Простейший метод проверки наличия уязвимости (проблема присутствует, если после выполнения нижеприведённой команды выводится ошибка сегментирования):


   $ perl -e 'print "x"x(2**31)' | grep x > /dev/null

Debian и Ubuntu на данный момент ещё не успели выпустить исправления. Однако, отдельные дистрибутивы, поставляющие свежие версии ПО, либо бэкпортирующие ключевые программы, не подвержены данной уязвимости (например, в Fedora 17 используется grep 2.14).

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

Дополнительно, стоит отметить, что в выпуске 2.11 присутствовали ещё как минимум два патча которые, возможно, исправляют не менее опасные уязвимости. В настоящее время в отношении них производится проверка.

Дополнение: вышеприведенный код для проверки на уязвимость дает положительный результат для утилиты GNU grep из состава FreeBSD, вариант утилиты grep под лицензией BSD не подвержен проблеме.

  1. Главная ссылка к новости (http://www.openwall.com/lists/...)
Автор новости: Аноним
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/35700-grep
Ключевые слова: grep
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (176) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, бедный буратино (ok), 18:33, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    В арче не сегфолтится.
     
     
  • 2.5, Аноним (-), 18:41, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В арче поди grep свежий.
     
     
  • 3.31, Харитон (?), 19:11, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Kubuntu 12.10 x64 Выводит сообщение что память закончилась, но без сегфолта...
    perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: memory exhausted

     
     
  • 4.33, Харитон (?), 19:13, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    $ grep --version
    grep (GNU grep) 2.12

     
     
  • 5.41, Lain_13 (ok), 19:35, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Аналогично в Ubuntu 12.10 (было б странно, если б не было аналогично).
     
     
  • 6.103, Аноним (-), 00:18, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Аналогично в Ubuntu 12.10 (было б странно, если б не было аналогично).

    Зато пользователи 12.04 LTS срочно бегут прикрывать задницы сковородками и делать sudo chmod -x 'which grep' :)

     
     
  • 7.182, Xrensgory (?), 19:56, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    лучше sudo -x 'which chmod'
    ...
     
  • 4.110, Led (ok), 02:15, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Kubuntu 12.10 x64

    Убунта перешла на микрософтовское обозначение архитектур?

     
     
  • 5.126, Аноним (-), 11:54, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Убунта перешла на микрософтовское обозначение архитектур?

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

     
     
  • 6.128, Michael Shigorin (ok), 12:24, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Не вижу почеу у MS нельзя позаимствовать удачное изобретение. Коротко и ясно.

    И криво.

     
     
  • 7.137, Аноним (-), 14:45, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > И криво.

    Да нормально. Названия типа х86-64 еще кривее, потому что какой оно там нафиг х86 с таким регистровым файлом и относительной адресацией, коей у х86 сроду не было? Да еще и длинное слишком. А AMD64 звучит странно, ибо не только амд. EM64T от интеля вообще похабщина какая-то. Ну и как предлагаете это называть? Как по мне, из всего этого зоопарка логичнее всего смотрится х64 как раз. Как гибрид x86 и AMD64. Хотя если есть какие-то объектиивные причины (торговая марка, или что там еще) или вы можете предложить более удачный и не менее короткий термин - озвучьте и я пересмотрю испольхование такого варианта.

     
     
  • 8.149, ананим (?), 15:40, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зато оно верное И это главное Кому не нравится, тот может откатиться от ревера... текст свёрнут, показать
     
  • 8.153, Michael Shigorin (ok), 15:59, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Если задуматься о происхождении x86 , то это сокращённое обозначение обобщения ... большой текст свёрнут, показать
     
     
  • 9.167, arisu (ok), 20:16, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    на наркоманский смайлик похоже ... текст свёрнут, показать
     
     
  • 10.174, Adui (?), 07:37, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    вам виднее... текст свёрнут, показать
     
  • 6.144, Аноним (-), 14:59, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Потому, что оно мало того, что неудачное, так еще и технически не верное Если В... большой текст свёрнут, показать
     

  • 1.2, 3cky (?), 18:36, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    $ perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: память исчерпана
    $ rpm -q grep
    grep-2.9-3.fc16.x86_64
    $ cat /etc/redhat-release
    RFRemix release 16.1 (Verne)
     
     
  • 2.11, Аноним (-), 18:45, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > grep: память исчерпана

    Ее просто перл отожрал. Что не отменяет сути дыры.
    Fedora 16 и ниже affected (согласно редхатовской багзилле).

     
     
  • 3.43, Lain_13 (ok), 19:37, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> grep: память исчерпана

    Означает ни что иное, как успешную блокировку проблему. Проблема в наличии если вместо сообщения об ошибке из грепа он сам сегфолтится.

     
     
  • 4.102, Аноним (-), 00:17, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Означает ни что иное, как успешную блокировку проблему.

    Неа. Это означает, что данный демо-сплойт не работает. Не больше и не меньше. По поводу дыры в грепе он информации не несет.

     

  • 1.3, Аноним (-), 18:37, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Debian Squeeze i386 - ошибки сегментирования нет
     
  • 1.4, iZEN (ok), 18:40, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Использую BSDGrep.

    % grep -V
    grep (BSD grep) 2.5.1-FreeBSD

     
     
  • 2.6, Аноним (-), 18:41, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Использую BSDGrep.
    > % grep -V
    > grep (BSD grep) 2.5.1-FreeBSD

    Там, наверное, это до сих пор не исправлено :)

     
     
  • 3.10, Anonymous528 (?), 18:45, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Там, наверное, это до сих пор не исправлено :)

    В девятке тоже:-(

     
  • 3.13, Adui (?), 18:47, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    там совсем другой код grep = http://svnweb.freebsd.org/base/head/usr.bin/grep/

     
     
  • 4.14, Аноним (-), 18:49, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Отличия в основном косметические, просто чтобы лицензию можно было поменять.

    Сегфолт воспроизводится, так что дыра скорее всего есть.

     
     
  • 5.16, Adui (?), 18:50, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Отличия в основном косметические, просто чтобы лицензию можно было поменять.
    > Сегфолт воспроизводится, так что дыра скорее всего есть.

    печаль :(

     
     
  • 6.19, Аноним (-), 18:52, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Особенно печально, что freebsd security team подает признаки жизни от силы раз в год, поэтому ближайшие месяцы греп придется патчить вручную.
     
  • 5.62, iZEN (ok), 20:05, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Отличия в основном косметические, просто чтобы лицензию можно было поменять.

    GNU grep лежит по пути: /usr/src/gnu/usr.bin/grep/
    BSD grep лежит по пути: /usr/src/usr.bin/grep/

    > Сегфолт воспроизводится, так что дыра скорее всего есть.

    Дыра в GNU grep.
    BSD grep тест не проходит.

     
  • 5.82, Аноним (-), 22:08, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ложь, сегфолт не воспроизводится.
     
     
  • 6.93, Аноним (-), 00:06, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    УМВР
     
  • 3.38, iZEN (ok), 19:20, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Использую BSDGrep.
    >> % grep -V
    >> grep (BSD grep) 2.5.1-FreeBSD
    > Там, наверное, это до сих пор не исправлено :)

    Что именно не исправлено?

    Запустил пять минут назад. В GNOME System Monitor наблюдаю уменьшение потребления памяти с 3,5 до 1,8 ГБ. Команда всё ещё выполняется. Сколько по времени ждать сегфолта? (У меня ещё OpenOffice-3-devel в текстовой консоли собирается).

    UPD1: Сейчас SWAP полез вверх — 62% занято. Оперативка 1,2 ГБ всего занята.

    UPD2: Команда "perl -e 'print "x"x(2**31)' | grep x > /dev/null" молча завершила свою работу. Никаких сообщений в терминал не выдала. SWAP после 100% загрузки быстро освободился до 8% (общий размер SWAP 1,5 ГБ). Оперативная память сейчас занята 1,4 ГБ (19% от общего объёма).

     
     
  • 4.131, srg (??), 12:45, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    FreeBSD 9.1-RELEASE #4: Sun Dec 23 19:53:44 MSK 2012

    % perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: (standard input): Недопустимый аргумент
    % grep --version
    grep (GNU grep) 2.5.1-FreeBSD

    Секфолта нет.

     
  • 4.179, kurokaze (ok), 17:14, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Команда "perl -e 'print "x"x(2**31)' | grep x > /dev/null" молча завершила свою работу

    И что? У меня аналогично, но не бздя

    >SWAP после 100%

    Э, теперь я знаю что ты брехал о том что ты джава-программист. Я подозревал. У меня например своп никгда не юзается. Не доходит до этого

     

  • 1.7, Anonymous528 (?), 18:43, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    $ cat /etc/debian_version
    7.0
    $ uname -a
    Linux netbook 3.7.0 #1 SMP Wed Dec 12 20:49:24 MSK 2012 x86_64 GNU/Linux
    $ grep --version
    grep (GNU grep) 2.14
    $ perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: memory exhausted

    Даже не знаю. Debian sid

     
     
  • 2.12, Аноним (-), 18:46, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > grep (GNU grep) 2.14
    > Даже не знаю. Debian sid

    А чего не знать. Пофикшено все, спи спокойно :)

     
  • 2.127, Nicknnn (ok), 12:13, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Просто закончилась память. Сделай своп побольше.
    Уязвимость проявляется при сегфолте.
     

  • 1.9, Аноним (-), 18:44, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > длина опасной строки составляет порядка 2 Гб
    > пытался обрабатывать grep'ом вывод команды "ls -la"

    Странно, что никто еще не обратил на это внимания :)

     
     
  • 2.138, Аноним (-), 14:46, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Странно, что никто еще не обратил на это внимания :)

    Маньяков желающих грепать 2 гига одним чихом в природе не так уж много.

     

  • 1.15, Sw00p aka Jerom (?), 18:50, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    # uname -a  (Red Hat Enterprise Linux Server release 6.2 (Santiago))

    Linux 2.6.32-220.13.1.el6.x86_64 #1 SMP Thu Mar 29 11:46:40 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux


    # perl -e 'print "x"x(2**31)' | grep x > /dev/null

    grep: memory exhausted

    исчерпал всю память (4ГБ), и записал в своп 100МБ и всё

     
     
  • 2.18, Sw00p aka Jerom (?), 18:51, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    совсем забыл

    # grep --version

    GNU grep 2.6.3

     

  • 1.17, Аноним (-), 18:51, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Вот так почитаешь новости, и порадуешься, что мейнтейнер грепа свалил из FSF.
    Потому что качество мейнтейнерства (особенно выпуска анонсов безопасности) у него было на высоте.
     
  • 1.20, Клыкастый (ok), 19:00, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    grep (GNU grep) 2.14

    gentoo - ok.


    FreeBSD - segfault :(

     
     
  • 2.51, piouyt (?), 19:51, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну segfault и что дальше? Где демонстрация експлойта? "Возможно, вероятно"... Да почти все утилиты глючат и сегфолтятся, где демонстрация секьюрити хол? :)
     
     
  • 3.80, Аноним (-), 21:40, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну segfault и что дальше? Где демонстрация експлойта?

    В следуюший раз лучше поставьте под сомнение "выскакивать одному на 20 гопов с битами - чревато". Так намного объяснение убедительнее для тех кто не в курсе что такое segfault и почему это происходит.

     
  • 2.56, iZEN (ok), 19:56, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > grep (GNU grep) 2.14
    > gentoo - ok.
    > FreeBSD - segfault :(

    Это GNU grep. //ваш К.О.

     
     
  • 3.129, Клыкастый (ok), 12:39, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Это GNU grep. //ваш К.О.

    да я как бы понял. в портах, кста, гнугреп тоже дырявый

     
     
  • 4.133, Аноним (-), 13:13, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> Это GNU grep. //ваш К.О.
    > да я как бы понял. в портах, кста, гнугреп тоже дырявый

    это как? 2.12 же: http://www.freshports.org/textproc/gnugrep/

     
     
  • 5.192, Клыкастый (ok), 23:30, 31/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > это как? 2.12 же: http://www.freshports.org/textproc/gnugrep/

    Port: gnugrep-2.12_1
    Path: /usr/ports/textproc/gnugrep
    Info: GNU grep
    Maint: gabor@FreeBSD.org
    B-deps: gettext-0.18.1.1 libiconv-1.14
    R-deps: gettext-0.18.1.1 libiconv-1.14
    WWW: http://www.gnu.org/software/grep/

    действительно. чёрт куда ж я посмотрел-то? o_O

     

  • 1.21, Michael Shigorin (ok), 19:01, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На Sisyphus не воспроизводится (x86_64/i586) -- там 2.14, на стабильных бранчах альта (t6/p6) воспроизводится -- там сейчас 2.10.
     
     
  • 2.72, aborodin (ok), 20:31, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > На Sisyphus не воспроизводится (x86_64/i586) -- там 2.14, на стабильных бранчах альта
    > (t6/p6) воспроизводится -- там сейчас 2.10.

    Хм. У меня пока 2.9-alt1, не воспроизводится.

     
     
  • 3.139, Аноним (-), 14:48, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Хм. У меня пока 2.9-alt1, не воспроизводится.

    А в альте весь софт такой же ископаемый? oO

     
     
  • 4.154, Michael Shigorin (ok), 16:01, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> Хм. У меня пока 2.9-alt1, не воспроизводится.
    > А в альте весь софт такой же ископаемый? oO

    Поднимите ясны очи на #21, а потом посмотрите на какой-нить стабильный редхат.

     
     
  • 5.171, Led (ok), 02:35, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Хм. У меня пока 2.9-alt1, не воспроизводится.
    >> А в альте весь софт такой же ископаемый? oO
    > Поднимите ясны очи на #21, а потом посмотрите на какой-нить стабильный редхат.

    У "стабилного редхета" сегодня-завтра это зафикся (если ещё не зафиксили), в отличие от "стабильного не-редхета".

     
     
  • 6.180, kurokaze (ok), 17:16, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > У "стабилного редхета" сегодня-завтра это зафикся (если ещё не зафиксили), в отличие
    > от "стабильного не-редхета".

    блажен кто верует (с)

     
     
  • 7.183, Led (ok), 02:15, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> У "стабилного редхета" сегодня-завтра это зафикся (если ещё не зафиксили), в отличие
    >> от "стабильного не-редхета".
    > блажен кто верует (с)

    Да, кто верует - тот блаженный, согласен. Вменяемый - проверяет.

     

  • 1.22, Fidel Castro (?), 19:03, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    % apt-cache showpkg grep
    Package: grep
    Versions:
    2.10-1 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_precise_main_binary-amd64_Packages) (/var/lib/dpkg/status)
    % perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: (standard input): Cannot allocate memory

    до этого тоже память заполняет

     
     
  • 2.24, Аноним (-), 19:07, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ubuntu подвержены начиная с 12.04 и более ранние.
     
     
  • 3.34, Fidel Castro (?), 19:15, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    так не похоже как-то на сегфолт
     

  • 1.23, al_88 (ok), 19:05, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Linux 3.2.0-23-generic-pae-uksm0.1.1 #36 SMP Wed Apr 25 12:07:52 CST 2012 i686 GNU/Linux
    GNU grep 2.5.4
    У меня вообще без каких либо ошибок выполняется, что я делаю не так?

     
     
  • 2.48, Sw00p aka Jerom (?), 19:43, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    каков обьём памяти у вас ? )) случаем не 32ГБ
     
     
  • 3.50, al_88 (ok), 19:51, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    # free -m
                 total       used       free     shared    buffers     cached
    Mem:          1939       1008        931          0         67        385
    -/+ buffers/cache:        555       1384
    Swap:            0          0          0
     
  • 2.74, taaroa (ok), 20:36, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > i686 GNU/Linux
    > что я делаю не так?

    on a typical 64-bit host

     
     
  • 3.75, al_88 (ok), 20:41, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    точно, не заметил
     

  • 1.26, Аноним (-), 19:08, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    DragonFly loki 3.2-RELEASE DragonFly v3.2.2.2.g00f39-RELEASE #3: Tue Dec 18 08:10:26 YEKT 2012     root@loki:/usr/obj/usr/src/sys/LOKI  x86_64

    vit@loki:/home/vit> grep -V
    grep (GNU grep) 2.12
    Copyright (C) 2012 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    Written by Mike Haertel and others, see
    <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.

    ничего не сегфолтится

     
     
  • 2.29, Аноним (-), 19:09, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > grep (GNU grep) 2.12
    > ничего не сегфолтится

    Неудивительно.
    А вот BSD grep - в полный рост.

     
     
  • 3.54, iZEN (ok), 19:54, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> grep (GNU grep) 2.12
    >> ничего не сегфолтится
    > Неудивительно.
    > А вот BSD grep - в полный рост.

    Это ложь.


     
     
  • 4.95, Аноним (-), 00:07, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >>> grep (GNU grep) 2.12
    >>> ничего не сегфолтится
    >> Неудивительно.
    >> А вот BSD grep - в полный рост.
    > Это ложь.

    Нет правда.

     
     
  • 5.107, Аноним (-), 01:50, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Нет - ложь.
     
  • 5.111, Аноним (-), 05:00, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>>> grep (GNU grep) 2.12
    >>>> ничего не сегфолтится
    >>> Неудивительно.
    >>> А вот BSD grep - в полный рост.
    >> Это ложь.
    > Нет правда.

    pkg_delete -x gnugrep
    и спи спокойно дальше.

     

  • 1.28, С горы (?), 19:09, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Кара Столмана в действии. Все потому что лидер ушел из ГНУ.
     
     
  • 2.30, Аноним (-), 19:10, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Кара Столмана в действии. Все потому что лидер ушел из ГНУ.

    Скорее, наоборот. Его ушли из ГНУ за фиговое исполнение обязанностей, а он свел все это к политоте.

     
     
  • 3.52, Michael Shigorin (ok), 19:52, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Скорее, наоборот. Его ушли из ГНУ за фиговое исполнение обязанностей,
    > а он свел все это к политоте.

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

     
  • 3.118, linux must _RIP_ (?), 08:40, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Спите дальше в своем мире RMS. Он всегда прав и это абсолютная истина. Это удобно - а главное думать не надо, за вас уже подумали.

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

     
     
  • 4.123, Michael Shigorin (ok), 11:43, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Только посмею себе напомнить что именно автор grep поднимал вопрос о том
    > что в стандартах GNU должно быть прописано о написании безопасного кода.
    > (см. предыдущий тред) и видимо не зря.

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

    Впрочем, это уже предположения на предположения, что непродуктивно.

     
     
  • 5.132, linux must _RIP_ (?), 12:47, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ОО.. вы много предупреждений видели в Linux kernel? в их stable обновлениях?
    В лучшем случае краткое упоминание о buffer overflow, или null pointer deref ...
    а то и просто "обновление крайне желательно".
    и только когда уже кто-то показал проблему - появлется метка CVE...

    не так ли ?

     
     
  • 6.134, Michael Shigorin (ok), 13:57, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > ОО.. вы много предупреждений видели в Linux kernel? в их stable обновлениях?

    Видал, но это проект IMHO хуже среднего в части работы с дырками и информацией о них.

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

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

     
     
  • 7.147, linux must _RIP_ (?), 15:32, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну так а чего тыкать в grep, когда это общая практика Можно привести еще пример... большой текст свёрнут, показать
     
     
  • 8.156, Michael Shigorin (ok), 16:35, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не общая, а часто встречающаяся Есть ведь и внимательные апстримы От MSP поти... большой текст свёрнут, показать
     
     
  • 9.169, linux must _RIP_ (?), 01:13, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не встречал таких Особенно когда исправляется ошибка без специального анализа и... большой текст свёрнут, показать
     
  • 6.176, Int (?), 12:30, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ранее, до взлома kernel.org, в changelog обычно можно было прочитать небольшие комментарии на тему что вот тут исправили потому что могла быть эскалация привелегий, тут локальный DOS ...

    А после взлома changelog-и стали сухими и невкусными

     
     
  • 7.177, linux must _RIP_ (?), 13:32, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну как... учатся у MS скрывать свои промахи. Кому будет интересно пользоваться продуктом в котором каждый день исправляют дыры с безопастностью ?
     
  • 2.32, Adui (?), 19:12, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    он заплыл жиром, его и выгнали :)
     
  • 2.94, Аноним (-), 00:07, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Карма Столмана в действии.

    Скорее вот так :).

     
  • 2.181, ewfewfvf (?), 19:42, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Кара Столмана в действии. Все потому что лидер ушел из ГНУ.

    Нет. Это потому что он программирует на си. Спасибо кернигану и ричи за строка==указатель.

     
     
  • 3.184, Led (ok), 02:17, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>Кара Столмана в действии. Все потому что лидер ушел из ГНУ.
    > Нет. Это потому что он программирует на си. Спасибо кернигану и ричи
    > за строка==указатель.

    Жертва прогулов лекций? Запомни, двоешник: указатель - это указатель, и ничего больше, как ты этот указатель будешь использовать - целиком на ТВОЕЙ совести и на ТВОЕЙ ответственности, а не на совести Кернигана.

     

  • 1.35, blzz (?), 19:16, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    а есть какой-то другой пример, а то
    perl -e 'print "x"x(2**31)' | wc -c
    0
     
     
  • 2.37, Имя (?), 19:18, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты себе перл сломал.

    >>> perl -e 'print "x"x(2**31)' | wc -c

    2147483648

     
     
  • 3.45, Kroz (??), 19:39, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У меня:
    $ perl -e 'print "x"x(2**31)'
    <пусто>

    Может кто-то даст правильную команду?

     
     
  • 4.63, Нанобот (?), 20:06, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > У меня:
    > $ perl -e 'print "x"x(2**31)'
    > <пусто>
    > Может кто-то даст правильную команду?

    блин, выложите уже кто-нибудь файл из 2Г букв 'x' на файлообменник, а то ж ниасилят

     
     
  • 5.142, Kroz (??), 14:54, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Почему perl ни единого символа не выдал. Это нормальное поведение perl'а на 32-битной системе?
     
     
  • 6.145, Аноним (-), 15:09, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Почему perl ни единого символа не выдал. Это нормальное поведение perl'а на
    > 32-битной системе?

    чито?

     
     
  • 7.148, Kroz (??), 15:33, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > чито?

    А то что grep обрабатывает строку stdin, и если я не перенаправлю stdout perl'а в stdin grep'a, то эта строка должна появиться у меня на экране. А у меня та перлова команда ничего не экран не выдает. Почему?

     
     
  • 8.151, Аноним (-), 15:56, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    покажи perl -v ну и за одно аналогично perl -e print x x 2 4 xxxxxxxxxxx... текст свёрнут, показать
     
     
  • 9.155, Kroz (??), 16:22, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    perl -V Summary of my perl5 revision 5 version 16 subversion 1 configuration... текст свёрнут, показать
     
     
  • 10.158, Аноним (-), 16:44, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    gt оверквотинг удален ну для начала у тебя не x86_64 платформа ... текст свёрнут, показать
     
     
  • 11.161, Kroz (??), 17:08, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я в курсе Но мы сейчас говорим не о баге в grep, а об обработке перлом конструк... текст свёрнут, показать
     
     
  • 12.162, Kroz (??), 17:09, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Я имел ввиду конструкции print x x 2 31 ... текст свёрнут, показать
     
     
  • 13.164, Аноним (-), 17:23, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    у тебя может быть включена какая-то защита от переедания памяти, которая просто ... текст свёрнут, показать
     
  • 3.65, blzz (?), 20:11, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    в 32битной бунте перл себя так ведет
     
     
  • 4.87, AlexAT (ok), 23:11, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И не только в бунте. Вообще заставлять процесс x86-32 занять разом более 2Гб памяти - слегка моветон.
     

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

  • 1.36, Имя (?), 19:17, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Ошибка была случайно обнаружена одним из пользователей Ubuntu, который пытался обрабатывать grep'ом вывод команды "ls -la" на своем хосте

    Это что ж за имена файлов такие, что они по два гига занимают?

     
     
  • 2.73, arisu (ok), 20:35, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Это что ж за имена файлов такие, что они по два гига
    > занимают?

    я вот тоже озадачен. чувак, видимо, решил весь вывод ls — вместе с -R по 100500 nfs-маунтов — склеить в одну строку и грепнуть. вот воистину: дай обезьяне гранату…

     
     
  • 3.96, Аноним (-), 00:09, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Это что ж за имена файлов такие, что они по два гига
    >> занимают?
    > я вот тоже озадачен. чувак, видимо, решил весь вывод ls — вместе
    > с -R по 100500 nfs-маунтов — склеить в одну строку и
    > грепнуть. вот воистину: дай обезьяне гранату…

    Убунтоводы, они такие.

     
  • 3.185, Аноним (-), 02:35, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Зато проблему выловил. За это спасибо ему.
     

  • 1.39, EuPhobos (ok), 19:29, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Debian и Ubuntu на данный момент ещё не успели выпустить исправления.

    Ой да лааадно! Зачем чушь писать-то..
    Wheezy: Версия: 2.12-2

    PS ссылку видел.

     
     
  • 2.40, Аноним (-), 19:33, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Ой да лааадно! Зачем чушь писать-то..
    > Wheezy: Версия: 2.12-2

    Вы из будущего ? Релиза Wheezy ещё не было.

     
     
  • 3.53, Michael Shigorin (ok), 19:54, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Ой да лааадно! Зачем чушь писать-то..
    >> Wheezy: Версия: 2.12-2
    > Вы из будущего ? Релиза Wheezy ещё не было.

    А уже со старым грепом...

     
     
  • 4.115, бедный буратино (ok), 06:19, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Ой да лааадно! Зачем чушь писать-то..
    >>> Wheezy: Версия: 2.12-2
    >> Вы из будущего ? Релиза Wheezy ещё не было.
    > А уже со старым грепом...

    не старым, а опытным

     
     
  • 5.122, Michael Shigorin (ok), 11:41, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> А уже со старым грепом...
    > не старым, а опытным

    Опытный образец? :)

     
  • 3.114, бедный буратино (ok), 06:19, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вы из будущего ? Релиза Wheezy ещё не было.

    Это как-то отрицает существование wheezy и возможность его скачать и поставить? Тем более, после freeze там ничего меняться не будет.

     
  • 2.42, Аноним (-), 19:36, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Wheezy: Версия: 2.12-2

    Не говори, понаписали тут. У меня в Jessie уже grep версии 2.17.

     
  • 2.98, Аноним (-), 00:11, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> Debian и Ubuntu на данный момент ещё не успели выпустить исправления.
    > Ой да лааадно! Зачем чушь писать-то..

    Стабильный дебиан и убунту LTS вполне себе дырявые.

    Или вы не отличаете обновления между дистрибутивами от обновлений безопасности?

     

  • 1.44, Аноним (-), 19:38, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    FreeBSD 9.0-STABLE #0 r234897

    $ grep -V | head -1
    grep (GNU grep) 2.5.1-FreeBSD

    $ perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: (standard input): Invalid argument

     
     
  • 2.47, iZEN (ok), 19:41, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    echo "WITH_BSD_GREP=true" >> /etc/src.conf
     

  • 1.46, iZEN (ok), 19:40, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    BSD Grep из FreeBSD 9.1-PRERELEASE на команду "perl -e 'print "x"x(2**31)' | grep x > /dev/null" никак не реагирует, никаких сообщений после выполнения не появляется.

    % grep -V
    grep (BSD grep) 2.5.1-FreeBSD
    % uname -a
    FreeBSD roxy.fire 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #0 r244694: Wed Dec 26 17:29:30 VOLT 2012     root@roxy.fire:/usr/obj/usr/src/sys/ROXY  amd64

     
     
  • 2.55, Adui (?), 19:55, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    % grep -V
    grep (GNU grep) 2.5.1-FreeBSD
    % uname -rpo
    FreeBSD 10.0-CURRENT amd64
    % gcc -dumpversion
    4.8.0
    % clang -v
    FreeBSD clang version 3.2 (branches/release_32 168974) 20121130
     
     
  • 3.57, iZEN (ok), 20:00, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > % grep -V
    > grep (GNU grep) 2.5.1-FreeBSD
    > % uname -rpo
    > FreeBSD 10.0-CURRENT amd64
    > % gcc -dumpversion
    > 4.8.0
    > % clang -v
    > FreeBSD clang version 3.2 (branches/release_32 168974) 20121130

    Имеет смысл заменить GNU grep на BSD grep, добавив строчку "WITH_BSD_GREP=true" в /etc/src.conf.

     
     
  • 4.59, Adui (?), 20:03, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> % grep -V
    >> grep (GNU grep) 2.5.1-FreeBSD
    >> % uname -rpo
    >> FreeBSD 10.0-CURRENT amd64
    >> % gcc -dumpversion
    >> 4.8.0
    >> % clang -v
    >> FreeBSD clang version 3.2 (branches/release_32 168974) 20121130
    > Имеет смысл заменить GNU grep на BSD grep, добавив строчку "WITH_BSD_GREP=true" в
    > /etc/src.conf.

    от себя добавлю, что еще лучше добавить /etc/src.conf для нестабильных релизов :)

    # Disable releng/release malloc(3)
    MALLOC_PRODUCTION=yes

     
     
  • 5.60, Adui (?), 20:04, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >[оверквотинг удален]
    >>> FreeBSD 10.0-CURRENT amd64
    >>> % gcc -dumpversion
    >>> 4.8.0
    >>> % clang -v
    >>> FreeBSD clang version 3.2 (branches/release_32 168974) 20121130
    >> Имеет смысл заменить GNU grep на BSD grep, добавив строчку "WITH_BSD_GREP=true" в
    >> /etc/src.conf.
    > от себя добавлю, что еще лучше добавить /etc/src.conf для нестабильных релизов :)
    > # Disable releng/release malloc(3)
    > MALLOC_PRODUCTION=yes

    cd /usr/src/usr.bin/grep; make clean install clean

     
     
  • 6.112, Аноним (-), 05:37, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > cd /usr/src/usr.bin/grep; make clean install clean

    http://svnweb.freebsd.org/base/release/8.3.0/usr.bin/ - где вы там grep нашли?

     
     
  • 7.113, Аноним (-), 05:46, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> cd /usr/src/usr.bin/grep; make clean install clean
    > http://svnweb.freebsd.org/base/release/8.3.0/usr.bin/ - где вы там grep нашли?

    Хотя вижу в мире о с 9-ки появился:
    http://svnweb.freebsd.org/base/release/9.0.0/usr.bin/grep/
    http://wiki.freebsd.org/BSDgrep

     
  • 4.66, Adui (?), 20:12, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> % grep -V
    >> grep (GNU grep) 2.5.1-FreeBSD
    >> % uname -rpo
    >> FreeBSD 10.0-CURRENT amd64
    >> % gcc -dumpversion
    >> 4.8.0
    >> % clang -v
    >> FreeBSD clang version 3.2 (branches/release_32 168974) 20121130
    > Имеет смысл заменить GNU grep на BSD grep, добавив строчку "WITH_BSD_GREP=true" в
    > /etc/src.conf.

    BSD grep мне кажется или действительно намного производительное работает ?

     
     
  • 5.67, iZEN (ok), 20:14, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >>> grep (GNU grep) 2.5.1-FreeBSD
    >>> % uname -rpo
    >>> FreeBSD 10.0-CURRENT amd64
    >>> % gcc -dumpversion
    >>> 4.8.0
    >>> % clang -v
    >>> FreeBSD clang version 3.2 (branches/release_32 168974) 20121130
    >> Имеет смысл заменить GNU grep на BSD grep, добавив строчку "WITH_BSD_GREP=true" в
    >> /etc/src.conf.
    > BSD grep мне кажется или действительно намного производительное работает ?

    Нет. Он считается тормозным.


     
     
  • 6.69, Adui (?), 20:17, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Нет. Он считается тормозным.

    grep MapReduce БСД'шниками не был осилен ?

     
  • 5.140, Аноним (-), 14:51, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > BSD grep мне кажется или действительно намного производительное работает ?

    Мне кажется что вы только что открыли для себя панацею. Плацебо называется.

     

  • 1.61, Аноним (-), 20:04, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    $ grep -V
    grep (GNU grep) 2.12

    Ноут в нокауте!

     
     
  • 2.100, Аноним (-), 00:14, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > $ grep -V
    > grep (GNU grep) 2.12
    > Ноут в нокауте!

    Внезапно, два раза по два гига - это дофига оперативки.

     

  • 1.68, Adui (?), 20:15, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    для фряшников

    # cd /usr/src/usr.bin/grep
    # make clean
    # make
    # make install clean

     
     
  • 2.81, BayaN (ok), 22:07, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Нафига, он и так установлен - /usr/bin/bsdgrep
     

  • 1.70, robux (ok), 20:24, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    $ grep --version
    grep (GNU grep) 2.10
    $ perl -e 'print "x"x(2**31)' | grep x > /dev/null
    Out of memory!

    Абсолютно ничего не произошло. ЧЯДНТ?

     
     
  • 2.77, piteri (ok), 21:06, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Устанавливает мало оперативы в комп.
     
  • 2.78, Andrey Mitrofanov (?), 21:07, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > grep (GNU grep) 2.10
    > Out of memory!
    >ЧЯДНТ?

    Поставь прогркссивный 64-разрядный дистр!

     

  • 1.76, rain87 (?), 21:00, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    хз,тоже не повторяется

    rain87@rain87-laptop:/tmp$ uname -a
    Linux rain87-laptop 3.4.4-030404-generic #201206221555 SMP Fri Jun 22 19:56:36 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
    rain87@rain87-laptop:/tmp$ perl -e 'print "x"x(2**31)' | wc -c
    2147483648
    rain87@rain87-laptop:/tmp$ perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: (стандартный ввод): Невозможно выделить память
    rain87@rain87-laptop:/tmp$ free -m
                 total       used       free     shared    buffers     cached
    Mem:          7896       3653       4243          0         24       1858
    -/+ buffers/cache:       1770       6125
    Swap:         2859       1098       1761
    rain87@rain87-laptop:/tmp$ grep -V
    grep (GNU grep) 2.10
    --cut--
    rain87@rain87-laptop:/tmp$ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description: Ubuntu 12.04.1 LTS
    Release: 12.04
    Codename: precise

     
     
  • 2.84, WD (?), 22:24, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    a dmesg|tail
    что говорит ?
    у меня на 12.04.1 LTS секунд 15 отжирает память и сегфолтится
    да, а на генте, где 2.14 все ок и отрабатывает за доли секунды.
     
     
  • 3.130, rain87 (?), 12:41, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    да ничего не говорит, после этой команды никаких новых сообщений не появляется
     

  • 1.85, добрый дядя (?), 22:51, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    uname -a
    Linux 3.2.0-34-generic #53-Ubuntu SMP Thu Nov 15 10:48:16 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
    perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: (стандартный ввод): Невозможно выделить память

    есть уязвимость или нет? у меня 4 Гб рамы и куча свопа - но вывалилось с "Невозможно выделить память"

     
  • 1.86, Genuine (?), 23:08, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: память исчерпана

    Debian Sid

     
  • 1.88, Онаним (?), 23:13, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    # perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: (standard input): Недопустимый аргумент

    # grep -V
    grep (GNU grep) 2.5.1-FreeBSD

    Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

     
  • 1.89, AlexAT (ok), 23:15, 26/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    [root@sphynx ~]# uname -a
    Linux sphynx 2.6.32-279.5.2.el6.x86_64 #1 SMP Fri Aug 24 01:07:11 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
    [root@sphynx ~]# perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: память исчерпана

    CentOS 6.3, на площадке 2 Гб рамы. Слегка залез в своп при операции, но вроде живой.

     
     
  • 2.90, iZEN (ok), 23:30, 26/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На перезагруженной машине после сборки свежего пакета ru-apache-openoffice-3 4 ... большой текст свёрнут, показать
     

  • 1.92, oooops (??), 00:04, 27/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    У кого-то в openSUSE проявляется?
    или старые версии grep-а не подвержены?

    perl -e 'print "x"x(2**32)' | grep x > /dev/null
    - все выполняется мгновенно, без видимых изменений по памяти

    rpm -q grep
    grep-2.7-3.1.i586

    head -1 /etc/SuSE-release
    openSUSE 11.4 (i586)

     
     
  • 2.97, iZEN (ok), 00:09, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > head -1 /etc/SuSE-release
    > openSUSE 11.4 (i586)

    На архитектуре [i386] не проявляется.

     
     
  • 3.105, Adui (?), 00:25, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> head -1 /etc/SuSE-release
    >> openSUSE 11.4 (i586)
    > На архитектуре [i386] не проявляется.

    ты можешь максимум пару гигов оперативки выжрать на i386

     
     
  • 4.143, Аноним (-), 14:54, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > ты можешь максимум пару гигов оперативки выжрать на i386

    При сильном желании - тройку.

     
     
  • 5.146, AlexAT (ok), 15:18, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> ты можешь максимум пару гигов оперативки выжрать на i386
    > При сильном желании - тройку.

    А если пользоваться fork'ом и IPC - можно и терабайт в пределах одного приложения (не процесса!) сожрать, только это к grep имеет мало отношения :)

     
     
  • 6.152, Аноним (-), 15:58, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>> ты можешь максимум пару гигов оперативки выжрать на i386
    >> При сильном желании - тройку.
    > А если пользоваться fork'ом и IPC - можно и терабайт в пределах
    > одного приложения (не процесса!) сожрать, только это к grep имеет мало
    > отношения :)

    обломаешся, адресного пространства не хватит.

     
     
  • 7.157, AlexAT (ok), 16:38, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > обломаешся, адресного пространства не хватит.

    Почему, собственно? Терабайт - это всего лишь ~1024 процессов с адресным пространством в 1 гиг. Вопрос хватит ли собственно у шины размера (насколько помню оно 36-битное в стандартной x86-32 архитектуре с PAE, т.е. всего лишь ничего - 64 гига), но в абсолютной теории катит. В любом случае >4G сожрать не особо трудно.

     
     
  • 8.159, Аноним (-), 16:47, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    PAE накладывает определенные ограничения, это не панацея ... текст свёрнут, показать
     
     
  • 9.160, AlexAT (ok), 16:49, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Дык никто и не говорит, что это панацея Но если прицепить к PAE как минимум 4... текст свёрнут, показать
     
     
  • 10.163, Аноним (-), 17:22, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    теоретически то, да ... текст свёрнут, показать
     
  • 6.166, arisu (ok), 20:14, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>> ты можешь максимум пару гигов оперативки выжрать на i386
    >> При сильном желании - тройку.
    > А если пользоваться fork'ом и IPC - можно и терабайт

    нельзя, на 386 не было PAE.

    p.s. если, конечно, имелась в виду полезная нагрузка, а не CoW.

     
     
  • 7.186, ZloySergant (ok), 17:15, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>>> ты можешь максимум пару гигов оперативки выжрать на i386
    >>> При сильном желании - тройку.
    >> А если пользоваться fork'ом и IPC - можно и терабайт
    > нельзя, на 386 не было PAE.
    > p.s. если, конечно, имелась в виду полезная нагрузка, а не CoW.

    На 386SX, который на днях выкинули, сволочи, не было и математического сопроцессора, но дум2 шел.

    И не говори, что почти 20 лет назад дум (1/2) - НЕ полезная нагрузка. :)

     
     
  • 8.187, Michael Shigorin (ok), 19:33, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На SX40 не шёл, а ползал или в окошке с почтовую марку, помнится и нет, не поле... текст свёрнут, показать
     
     
  • 9.189, AlexAT (ok), 22:19, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Мммм Авторитетно заявляю - на 386SX33 с 4 метрами - шёл прекрасно Рубались с... текст свёрнут, показать
     
  • 8.190, arisu (ok), 23:52, 30/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    конечно, шёл помнится, я пол-года движок сочинаял похожий, на чистом асме а ок... текст свёрнут, показать
     
  • 7.188, AlexAT (ok), 22:14, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > нельзя, на 386 не было PAE.

    Ну ладно, уел, да. Я имел в виду x86-32, а не i386, естественно.

    Зато вот если прибахать "правильную" EMM/EMS-плату (надеюсь, кто-то еще помнит, что такое EMM/EMS :) - можно и под досом с терабайт сожрать :)

     
     
  • 8.191, arisu (ok), 23:54, 30/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    софт надо специально пилить же, если верно помню ... текст свёрнут, показать
     
  • 5.178, linux must _RIP_ (?), 13:46, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> ты можешь максимум пару гигов оперативки выжрать на i386
    > При сильном желании - тройку.

    RH поддерживал 3.5/0.5 split.

     
  • 2.99, Аноним (-), 00:13, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > У кого-то в openSUSE проявляется?
    > или старые версии grep-а не подвержены?

    Подвержены начиная с первой версии. Но для x86 демо-сплойт не работает.

     
     
  • 3.104, Michael Shigorin (ok), 00:20, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Но для x86 демо-сплойт не работает.

    Это не сплойт.

     
  • 2.173, Аноним (-), 07:12, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    В 12.2 все нормально на х86_64
     

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

  • 1.106, Суровый Анонимус (?), 00:55, 27/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    sysadmin:~$ grep -V
    grep (GNU grep) 2.12
    Copyright (C) 2012 Free Software Foundation, Inc.
    Лицензия GPLv3+: GNU GPL версии 3 или новее <http://gnu.org/licenses/gpl.html>
    Это свободное ПО: вы можете продавать и распространять его.
    Нет НИКАКИХ ГАРАНТИЙ до степени, разрешённой законом.

    Авторы программы — Майк Хертель (Mike Haertel) и другие, см. <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
    sysadmin:~$ cat /etc/issue.net
    Debian GNU/Linux wheezy/sid
    sysadmin:~$ perl -e 'print "x"x(2**31)' | wc -c
    2147483648
    sysadmin:~$ perl -e 'print "x"x(2**31)' | grep x > /dev/null
    задумывается на пару секунд и, не выводит ни чего, хотя на ноуте все вешается и свопится, но на ноуте всего 4 гига памяти, из которых 3 в данный момент занято, а на десктопе 8 гигов.

     
  • 1.116, KaE (ok), 06:52, 27/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    dhcppc2:~# cat /etc/debian_version
    5.0.10
    dhcppc2:~# uname -a
    Linux dhcppc2 2.6.26-2-686 #1 SMP Sun Mar 4 22:19:19 UTC 2012 i686 GNU/Linux
    dhcppc2:~# grep --version
    GNU grep 2.5.3

    Copyright (C) 1988, 1992-2002, 2004, 2005  Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    dhcppc2:~# perl -e 'print "x"x(2**31)' | grep x > /dev/null
    dhcppc2:~#

     
  • 1.117, pavlinux (ok), 07:09, 27/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/



    $ perl -e 'print "x"x(2**31)' | grep x > /dev/null;
    $ perl -e 'print "x"x(2**32)' | grep x > /dev/null;
    grep: память исчерпана

    $ perl -e 'print "x "x(2 **31)' | sort -u > /dev/null;
    sort: память исчерпана

    $ perl -e 'print "x "x(2 **31)' | rev > /dev/null;
    rev: cannot allocate 4294967296 bytes: Невозможно выделить память


    $ cat /etc/SuSE-release
    openSUSE 12.2 (x86_64)
    VERSION = 12.2
    CODENAME = Mantis



     
  • 1.120, sluge (??), 10:31, 27/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    # perl -e 'print "x"x(2**31)' | grep x > /dev/null
    Segmentation fault (core dumped)

    # cat /etc/redhat-release
    Red Hat Enterprise Linux Server release 6.3 (Santiago)

     
     
  • 2.121, Sw00p aka Jerom (?), 11:08, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    версию грепа в студию

    # grep --version

    у меня Red Hat Enterprise Linux Server release 6.2 (Santiago) сегфолта нет (GNU grep 2.6.3)

     
     
  • 3.193, Square (ok), 09:41, 02/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    rh 6.2 просто не понял что такое 2**31 и не выполнил команду .... поставьте 2**30 и наслаждайтесь...
     
     
  • 4.194, Square (ok), 09:49, 02/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > rh 6.2 просто не понял что такое 2**31 и не выполнил команду
    > .... поставьте 2**30 и наслаждайтесь...

    Хотя нет.. память тоже кончилась

     

  • 1.124, gni (ok), 11:45, 27/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Аналогично:

    Сожрал 2Гб оперативной секунд за 5, потом минуту пожирал 2Гб swapa, оставил чуток - 300 Мб и выкинул, что память исчерпана.

    uname -a
    Linux dejavu 3.6.8-hardened-hounfler #1 SMP Sat Dec 15 18:10:54 x86_64 Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz GenuineIntel GNU/Linux

    grep -V
    grep (GNU grep) 2.14

    perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: память исчерпана

     
  • 1.135, Аноним (-), 13:58, 27/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Gentoo x64, 6Gb RAM, grep 2.12
    Команда отработала, не упала и ничего не написала, со статусом 0
     
     
  • 2.170, Led (ok), 02:30, 28/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Gentoo x64

    Gentoo перешла на микрософтовское обозначение архитектур?


     

  • 1.136, Аноним (-), 14:22, 27/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    % grep --version
    grep (GNU grep) 2.5.1-FreeBSD

    % uname -sr
    FreeBSD 9.1-RELEASE

    % perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: (standard input): Invalid argument

     
  • 1.150, inferrna (ok), 15:42, 27/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    У кого память не выделяется, запишите в файл. Или грепайте уже сразу /dev/random или /dev/sda1. Мне как-то пофиг, у меня левых файлов нет и grep (GNU grep) 2.12
     
  • 1.165, kde (??), 18:50, 27/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Ибо нефиг парсить логи грепом когда есть православный PERL.
     
  • 1.168, Аноним (168), 22:15, 27/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    goga@ubuntu:~$ perl -e 'print "x"x(2**31)' | grep x > /dev/null
    grep: (standard input): Cannot allocate memory
    goga@ubuntu:~$


    не сегфолт, но все равно хана?

     

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



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

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