The OpenNET Project / Index page

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



"Критическая уязвимость в Drupal"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Критическая уязвимость в Drupal"  +/
Сообщение от opennews on 28-Мрт-18, 23:53 
В системе управления контентом Drupal выявлена (https://www.drupal.org/sa-core-2018-002) критическая уязвимость (https://groups.drupal.org/security/faq-2018-002) (CVE-2018-7600 (https://security-tracker.debian.org/tracker/CVE-2018-7600)), которую можно использовать для удалённого выполнения кода на сервере через отправку специально оформленного запроса без аутентификации. Проблема достаточно проста в эксплуатации и затрагивает ветки Drupal 8, 7 и 6. Всем пользователям рекомендуется срочно установить обновления  Drupal 8.5.1, 7.58, 8.3.9, 8.4.6 или использовать патч (https://cgit.drupalcode.org/drupal/rawdiff/?h=8.5.x&id=5ac87...).

Для эксплуатации уязвимости достаточно (https://twitter.com/codeincarnate/status/979080318966730753) передать параметр запроса или Cookie, начинающийся с символа "#", который будет обработан как спецключ для вызова произвольного PHP-обработчика через Drupal Form API (https://api.drupal.org/api/drupal/developer%21topics�...).


URL: https://www.drupal.org/sa-core-2018-002
Новость: https://www.opennet.ru/opennews/art.shtml?num=48348

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


2. "Критическая уязвимость в Drupal"  +18 +/
Сообщение от Аноним (??) on 28-Мрт-18, 23:59 
Это не дыра, это фича!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

34. "Критическая уязвимость в Drupal"  +1 +/
Сообщение от Аноним (??) on 29-Мрт-18, 21:17 
господи друпал это жи грех какой то
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Критическая уязвимость в Drupal"  +/
Сообщение от Аноним (??) on 29-Мрт-18, 00:02 
А патчи в стили PHP, годы идут, ничего не меняется. Мы тут ввод подчистим, вместо, того чтоб принципиально дыру прикрыть.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от пох on 29-Мрт-18, 00:32 
принципиальная дыра - это вообще работать с каким-либо user input? В противном случае, у меня для вас плохие новости... по крайней мере, для машин с фон-неймановской архитектурой и тьюринг-полных языков.

а на "parser3" вы современный сайт делать не захотите (он не тьюринг-полный, untrusted данные изолированы. Щастья своим разработчикам не принес.)

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

33. "Критическая уязвимость в Drupal"  +/
Сообщение от YetAnotherOnanym (ok) on 29-Мрт-18, 18:56 
Принципиальная дыра - это ожидать, что в user input будет только то, что там должно быть по представлениям разработчика.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

48. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от пох on 31-Мрт-18, 16:16 
>  Принципиальная дыра - это ожидать, что в user input будет только то, что там должно быть по
> представлениям разработчика.

они ничего такого не ожидали, просто ошиблись, упустив еще одно из миллиона мест, где нужно фильтровать еще один из сотни символов, имеющих специльное значение.

это не лечится, это будет всегда.


  

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

43. "Критическая уязвимость в Drupal"  +/
Сообщение от anomymous on 31-Мрт-18, 11:55 
Принципиально дыра в головах. Прикрыть будет ооооочень сложно.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Критическая уязвимость в Drupal"  +3 +/
Сообщение от th3m3 (ok) on 29-Мрт-18, 01:15 
Что, опять?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Критическая уязвимость в Drupal"  +1 +/
Сообщение от Sylvia (ok) on 29-Мрт-18, 07:03 
https://www.drupal.org/files/issues/2018-03-28/SA-CORE-2018-...

для Drupal6

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

51. "Критическая уязвимость в Drupal"  +/
Сообщение от dq0s4y71 (ok) on 28-Апр-18, 23:16 
Drupal6 упоминается почему-то только в одной ссылке. В двух других только 7 и 8. Там вообще про одну и ту же уязвимость?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

7. "Критическая уязвимость в Drupal"  –3 +/
Сообщение от Аноним (??) on 29-Мрт-18, 08:05 
Одним словом - пехапе
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Критическая уязвимость в Drupal"  +4 +/
Сообщение от IRASoldier on 29-Мрт-18, 08:21 
Одним словом - не пехапе, а ошибки пейсателей парсеров пользовательских запросов

Не язык должен быть "безошибочным", а код. Так-то.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от Аноним (??) on 29-Мрт-18, 10:29 
> Одним словом - не пехапе, а ошибки пейсателей парсеров пользовательских запросов
> Не язык должен быть "безошибочным", а код. Так-то.

ну, на самом-то деле, изначальное отсутствие в языке "с низким порогом вхождения" каких-нибудь тривиальных высокоуровневых примитивов вида tosql/tohtml/toxml/tojson и необходимость в каждом случае переизобретать велосипед - очень даже способствует написанию кривого кода. А безошибочного кода не бывает. Бывает хорошо отлаженный.

отдельный привет я-у-мамы-программистам. Прекрасный тест на профпригодность - дать такому задачу "преобразовать untrusted data в,к примеру, sql" (с особым нажимом на слово "untrusted").
Если вы видите, что он сходу начинает писать регекс вместо транслятора - сразу пинка под зад, это рефлексы, это никакому переобучению не поддастся.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

15. "Критическая уязвимость в Drupal"  +/
Сообщение от KonstantinB (ok) on 29-Мрт-18, 11:18 
В современном PHP все уже есть.

А в старом коде времен php4, да, я видел "парсеры" XML и JSON через eval(). "Ну а чо, так проще же". Один такой eval() одной компании как-то обошелся в полмиллиона долларов.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

17. "Критическая уязвимость в Drupal"  +1 +/
Сообщение от Аноним (??) on 29-Мрт-18, 12:30 
> одной компании как-то обошелся в полмиллиона долларов

так это одной. А полмиллиона других компаний сэкономили на этом по доллару - и вот уже общий баланс неотрицательный :)

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

23. "Критическая уязвимость в Drupal"  +1 +/
Сообщение от KonstantinB (ok) on 29-Мрт-18, 13:04 
Сразу вспоминается модификация анекдота про ковбоев, которые увеличили ВВП.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

40. "Критическая уязвимость в Drupal"  +/
Сообщение от Аноне on 30-Мрт-18, 10:34 
htmlspecialchars, filter_var
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

46. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от пох on 31-Мрт-18, 13:45 
> htmlspecialchars, filter_var

это слишком низкоуровневые конструкции, и к тому же они by design неверны (если использовать filter не для валидации, с этим-то все в порядке, кроме названия).
То есть малейшая неаккуратность, и получаем дыру типа описанной.

трансляцию надо выполнять не на обработке input (потому что совершенно неизвестно, что мы с тем input делать собираемся - мы его может вообще сейчас as-is бросим обратно в рожу пользователю в тот textarea, из которого получили, потому что он капчу неверно набрал - и зачем, спрашивается, было куда-то транслировать?)
ее надо выполнять в том месте, где ты с этим input что-то собрался делать.

Если в базу собрался положить - тебе нужен sql translator, если в html - html'ный, в js - js'овый. Ну, надеюсь, eval() мы не собираемся? Хотя php-транслятором лучше сразу озаботиться ;-)

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

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

9. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от Fy on 29-Мрт-18, 08:53 
Дырень касается всех или только тех у кого есть какие-то пользователи и они чего-то куда-то вводят?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Критическая уязвимость в Drupal"  +2 +/
Сообщение от ваш К.О. on 29-Мрт-18, 10:17 
если у твоего локалхоста нет пользователей - нет, тебя не касается. Особенно если и drupal ты из архива не распаковывал.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

26. "Критическая уязвимость в Drupal"  +/
Сообщение от Солнышко (??) on 29-Мрт-18, 14:08 
Тонко
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

41. "Критическая уязвимость в Drupal"  +/
Сообщение от Аноним (??) on 30-Мрт-18, 16:22 
Да куда уж тоньше. Словно сайты без аунтификации и прочих форм ввода бывают только на локалхосте.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

12. "Критическая уязвимость в Drupal"  +/
Сообщение от 123 (??) on 29-Мрт-18, 10:39 
Касается всех, даже включение режима обслуживания не спасет. Ошибка прямо с бутстрапа ядра как-то тянется. В общем без вариантов, надо обновлять.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

13. "Критическая уязвимость в Drupal"  –2 +/
Сообщение от Солнышко (??) on 29-Мрт-18, 11:12 
Drupal весьма хорош для крупных порталов, для тех, кто не хочет изучать программирование, но нужна гибкая настройка сущностей. А шкурку натянуть можно какую хочешь. Скорость правда не ахти, но для корпоратпорталов и не надо.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Критическая уязвимость в Drupal"  +1 +/
Сообщение от Аноним (??) on 29-Мрт-18, 12:29 
> Скорость правда не ахти

И безопасность, как видим, тоже. Но шкурку натянуть можно, это да.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

19. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от Солнышко (??) on 29-Мрт-18, 12:38 
>> Скорость правда не ахти
> И безопасность, как видим, тоже. Но шкурку натянуть можно, это да.

Для бизнеса чаще всего важнее шкурка, а не содержание. В таком мире мы живем.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

22. "Критическая уязвимость в Drupal"  +2 +/
Сообщение от KonstantinB (ok) on 29-Мрт-18, 13:01 
Для бизнеса важны бабки, а как следствие - важно все. Просто некоторые осознают важность качественного безопасного кода только после того, как понесут миллионные убытки.

Я всегда объясняю нетехническим бизнесменам понятие технического долга через бабки, прекрасно понимают.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

25. "Критическая уязвимость в Drupal"  –3 +/
Сообщение от ыы on 29-Мрт-18, 14:05 
>как понесут миллионные убытки.

или не понесут.. а при удачном раскладе еще и страховку нехилую получат...


>долга через бабки, прекрасно понимают

раскрутить лоха на бабки.. да.. есть мастера еще какие :)

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

27. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от Солнышко (??) on 29-Мрт-18, 14:08 
>>как понесут миллионные убытки.
> или не понесут.. а при удачном раскладе еще и страховку нехилую получат...
>>долга через бабки, прекрасно понимают
> раскрутить лоха на бабки.. да.. есть мастера еще какие :)

Или продадут "успешный" стартап, а отдуваться будет подрядчик фирмы, кто его купит )

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

30. "Критическая уязвимость в Drupal"  +2 +/
Сообщение от KonstantinB (ok) on 29-Мрт-18, 15:28 
> раскрутить лоха на бабки.. да.. есть мастера еще какие :)

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

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

32. "Критическая уязвимость в Drupal"  –2 +/
Сообщение от ыы on 29-Мрт-18, 16:33 
>> раскрутить лоха на бабки.. да.. есть мастера еще какие :)
> Да вот прямо сейчас последствия работы таких мастеров разгребаю. До человека, к
> сожалению, дошло только после того, как слили всю его базу.

"Неприятности происходят вне зависимости от того делаете вы что-то или нет." (с)

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

Другой специалист на тех же данных увидит другую причину проблемы... И тоже, что характерно - будет прав...

Третий специалист найдет третий источник бед... И опять же будет прав.. и докажет что именно его виденье должно как можно более щедро наполнится хрустящими купюрами...

и все будут просить дай, дай денег дай.....

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

35. "Критическая уязвимость в Drupal"  +2 +/
Сообщение от KonstantinB (ok) on 29-Мрт-18, 23:28 
Простите, вы какие-то вещества употребляете, или это ваш естественный ход мыслей?
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

36. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от Аноним (??) on 30-Мрт-18, 00:08 
Ну чел вообще-то в чём-то прав. Вы с ним не согласны?
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

42. "Критическая уязвимость в Drupal"  +/
Сообщение от KonstantinB (ok) on 31-Мрт-18, 05:22 
Два еврея пришли к раввину, чтобы он разрешил их спор.
- Ребе, вот я говорю, что на небе луна.
- Ты прав.
- А он говорит, что это месяц.
- И он прав.
Жена раввина кричит с кухни:
- Соломон, так не может быть, чтоб они оба были правы!
- И ты права.
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

14. "Критическая уязвимость в Drupal"  +2 +/
Сообщение от KonstantinB (ok) on 29-Мрт-18, 11:16 
Оу шыт! Вы посмотрите на этот патч. Он выкидывает все параметры GET/POST-запросов и куки, имена которых начинаются с символа "#".

Это же что там с ними делается, что у них означает этот маркер, что его использованием можно запустить произвольный код? Eval? Call_user_func? Кому вообще пришло в голову такое сделать? И сколько же таких мест, что вместо того, чтобы их переписать по-человечески, надо делать глобальную фильтрацию?

Это не php, это люди, которых нельзя пускать за клавиатуру.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Критическая уязвимость в Drupal"  +/
Сообщение от 123 (??) on 29-Мрт-18, 12:46 
Система render array https://www.drupal.org/docs/8/api/render-api/render-arrays
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

21. "Критическая уязвимость в Drupal"  +/
Сообщение от KonstantinB (ok) on 29-Мрт-18, 12:58 
Скорее https://api.drupal.org/api/drupal/developer%21topics�...
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

28. "Критическая уязвимость в Drupal"  –3 +/
Сообщение от Солнышко (??) on 29-Мрт-18, 14:09 
> Оу шыт! Вы посмотрите на этот патч. Он выкидывает все параметры GET/POST-запросов
> и куки, имена которых начинаются с символа "#".
> Это же что там с ними делается, что у них означает этот
> маркер, что его использованием можно запустить произвольный код? Eval? Call_user_func?
> Кому вообще пришло в голову такое сделать? И сколько же таких
> мест, что вместо того, чтобы их переписать по-человечески, надо делать глобальную
> фильтрацию?
> Это не php, это люди, которых нельзя пускать за клавиатуру.

Будь мужиком, покажи класс. Напиши свой патч, а мы посмотрим, ок?

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

29. "Критическая уязвимость в Drupal"  +3 +/
Сообщение от KonstantinB (ok) on 29-Мрт-18, 15:26 
Там изначальная архитектурная ошибка со смешением данных и колбэков в одном массиве, с префиксом "#" у колбэков.

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

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

31. "Критическая уязвимость в Drupal"  –2 +/
Сообщение от ыы on 29-Мрт-18, 16:27 
"В тот момент эта идея мне показалась привлекательной" (с) анек
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

37. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от Аноним (??) on 30-Мрт-18, 00:11 
А можно весь анекдот? Сходу не нагуглил :(
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

38. "Критическая уязвимость в Drupal"  +/
Сообщение от Led (ok) on 30-Мрт-18, 01:21 
> А можно весь анекдот?

Так это он весь и есть: "ыы"


Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

44. "Критическая уязвимость в Drupal"  +1 +/
Сообщение от anomymous on 31-Мрт-18, 11:58 
> Там изначальная архитектурная ошибка со смешением данных и колбэков в одном массиве,
> с префиксом "#" у колбэков.

Смешение user input и callbacks в одном массиве?
OH SHI...
Закoпать и не откапывать.

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

47. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от пох on 31-Мрт-18, 13:49 
> Смешение user input и callbacks в одном массиве?

"когда мы это писали - классов в php (4?) еще не было"

а им надо было донести до обработчика и данные, и какое-то обозначение, что с ними делать.

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

49. "Критическая уязвимость в Drupal"  +/
Сообщение от KonstantinB (ok) on 31-Мрт-18, 20:27 
Да были классы.

В конце концов, можно было бы просто два разных массива сделать.

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

39. "Критическая уязвимость в Drupal"  –1 +/
Сообщение от Аноним (??) on 30-Мрт-18, 07:43 
Проверьте кому не лень залатали ли эту уязвимость на сайте Белого дома?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

45. "Критическая уязвимость в Drupal"  +2 +/
Сообщение от redwolf (ok) on 31-Мрт-18, 12:45 
Он уже миллион лет не на Друпале. Это всё реклама.
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

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