The OpenNET Project / Index page

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

Уязвимости в Grafana, позволяющие получить доступ к файлам в системе

11.12.2021 11:52

В открытой платформе визуализации данных Grafana выявлена уязвимость (CVE-2021-43798), позволяющая выйти за пределы базового каталога и получить доступ к произвольным файлам в локальной файловой системе сервера, насколько это позволяют права доступа пользователя, под которым выполняется Grafana. Проблема вызвана некорректной работой обработчика пути "/public/plugins/<plugin-id>/", в котором допускалось использование символов ".." для доступа к нижележащим каталогам.

Уязвимость может быть эксплуатирована через обращение к URL типовых предустановленных плагинов, таких как "/public/plugins/graph/", "/public/plugins/mysql/" и "/public/plugins/prometheus/" (всего предустановлено около 40 плагинов). Например, для доступа к файлу /etc/passwd можно было отправить запрос "/public/plugins/prometheus/../../../../../../../../etc/passwd". Для выявления следов эксплутации рекомендуется проверить наличие маски "..%2f" в логах http-сервера.

Проблема проявлялась начиная с версии 8.0.0-beta1 и устранена в выпусках Grafana 8.3.1, 8.2.7, 8.1.8 и 8.0.7, но следом были выявлены ещё две похожие уязвимости (CVE-2021-43813, CVE-2021-43815) которые проявлялись начиная с версий Grafana 5.0.0 и Grafana 8.0.0-beta3, и позволяли аутентифицированному пользователю Grafana получить доступ к произвольным файлам в системе, имеющим расширения ".md" и ".csv" (с именами файлов только в нижнем или только в верхнем регистре), через манипуляцию с символами ".." в путях "/api/plugins/.*/markdown/.*" и "/api/ds/query". Для устранения данных уязвимостей сформированы обновления Grafana 8.3.2 и 7.5.12.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Grafana меняет лицензию с Apache 2.0 на AGPLv3
  3. OpenNews: Опасные уязвимости в Grafana
  4. OpenNews: Удалённо эксплуатируемая уязвимость в OMI-агенте, навязываемом в Linux-окружениях Microsoft Azure
  5. OpenNews: Уязвимость в http-сервере Apache 2.4.49, позволяющая получить файлы вне корня сайта
  6. OpenNews: Ещё одна уязвимость в Apache httpd, позволяющая обратиться за пределы корневого каталога сайта
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56329-grafana
Ключевые слова: grafana
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (75) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 12:13, 11/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Как хорошо, что почти всё запущено в докере в наши дни. (если конечно, человек не делал -v /:/)
     
     
  • 2.3, Аноним (3), 12:16, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > если конечно, человек не делал -v /:/

    Этот случай обрабатывается SELinux. Если, конечно, девопс не является "не таким как все" и не отключал SELinux. А таких тут много.

     
     
  • 3.5, Роман (??), 12:51, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    они ж selinux apparmor боятся как огня :-)))
     
     
  • 4.19, Аноним (19), 15:50, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    selinux и apparmor несовместимы. Либо одно, либо второе.
     
     
  • 5.38, InuYasha (??), 18:51, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    chmod - resist fire +555
    acl - reflect damage 50%
    apparmor - resist normal weapons
    selinux - absorb magical damage
    :)
     
     
  • 6.39, Онаним (?), 19:44, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    power off - invulnerability
     
     
  • 7.83, onanim (?), 09:39, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    процессор и южный мост продолжают работать даже в "выключенном" компьютере:
    - man Intel AMT
    - man BCM

    invulnerability - это выдернуть шнур, выдавить стекло.

     
     
  • 8.84, Онаним (?), 09:48, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    BMC, вы хотели сказать Под power off я не shutdown подразумевал, а именно powe... текст свёрнут, показать
     
  • 5.51, Аноним (51), 00:16, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо кэп
     
  • 3.63, Легивон (?), 09:20, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И как в этих ваших кубирнетисах настраивать SELinux? Если сегодня pod тут, а завтра:daw через 10 минут там.
    Есть какой-то оператор который позваляет таскать в манифесках конфиг selinux? Ссылочку не дадите?
     
  • 2.26, Аноним (26), 17:18, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не знаю никого, кто б использовал докер в продуктиве :-)
     
     
  • 3.34, An0nim0us (?), 18:22, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    минимум эти - https://www.cncf.io/certification/software-conformance/
     
  • 3.40, _ (??), 20:21, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >не знаю никого, кто б использовал докер в продуктиве :-)

    Люто, неистово завидую :(

     
  • 3.78, SubGun (??), 21:13, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сочувствую
     
  • 2.37, Онаним (?), 18:28, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как хорошо, что почти всё настолько запущено в наши дни

    Fixed

     
  • 2.54, КО (?), 05:20, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как хорошо, что почти всё говно жрут в наши дни (если конечно мозгов нет)
     
     
  • 3.57, ага (?), 08:35, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    щас, кто тебя спрашивать-то будет, есть у тебя мозги или нет? Жри чедали и не выпендривайся!
     

  • 1.4, Онаним (?), 12:18, 11/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Пожал плечами.
    Странно ждать от хипстерских поделок чего-то иного.
    Не первая дыра, и не последняя.
     
     
  • 2.12, пох. (?), 13:43, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    блин, а мне она когда-то нравилась... ну до впендюривания хромонога внутрь, конечно.

     

  • 1.6, Аноним (6), 13:00, 11/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    > использование символов ".." для доступа к нижележащим каталогам.

    Я всегда считал, что это «верхлежащие» каталоги, мы же поднимаемся вверх, выходим из каталога.

     
     
  • 2.8, Аноним (3), 13:31, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В таком случае предлагаю тебе взобраться "вверх" на дерево до самого... корня ("/", root).
     
     
  • 3.14, Аноним (14), 14:22, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Приложение выполнило недопустимую операцию и будет закрыто.  
     
     
  • 4.28, InuYasha (??), 17:24, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Приложение закрыло недопустимую операцию и будет выполнено. - java
     
  • 3.18, Урри (ok), 15:10, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    У вас корень ФС внизу? О_О
    А ls "." тоже снизу вверх показывает?

    А tree что выводит? Вот такое?

        ┌── 80alsa -> ../scripts.d/alsa
    ┌── suspend.d
    │   ┌── alsa
    ├── scripts.d
    │   ┌── 20alsa -> ../scripts.d/alsa
    ├── resume.d
    ├── event.d
    .

    А как вы этого добились?

     
     
  • 4.22, Аноним (22), 16:20, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Планшет переверни =)
     
     
  • 5.46, Аноним (46), 22:50, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У него датчик ориентации - его такими трюками не обманешь.
     
  • 4.32, vitalif (ok), 18:07, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну дерево же, значит должно расти вверх, тянуться к солнцу))
     
     
  • 5.47, Аноним (46), 22:50, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А если в Австралии?
     
  • 3.27, Ordu (ok), 17:19, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дональд Кнут в TAOCP прикалывался над тем, что информатики рисуют деревья корнями вверх. То есть взбираясь по дереву наверх, ты ползёшь к корню. И это хорошо так закрепилось в терминологии. В частности и в файловой системе выбираясь наверх из кучи вложенных директорий, ты выбираешься _наверх_.
     

  • 1.7, Корец (?), 13:09, 11/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >/public/plugins/prometheus/../../../../../../../../etc/passwd

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

     
     
  • 2.9, мое правило (?), 13:37, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не поможет. Обычно такие баги появляются "о, я тут придумал штуку, щас быстренько прилеплю", и даже тестов нормальных не пишут.
     
     
  • 3.10, Онаним (?), 13:41, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    И никакие поперечные юнит-тесты их не спасли...
    Даже если у тебя тестами покрыто 100% кода, от misuse этого кода тесты не спасают.
     
     
  • 4.17, Аноним (14), 14:25, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Значит ты еще и покрытие кода тестами неправильно посчитал. Это вон из профессии я считаю.  
     
     
  • 5.35, Онаним (?), 18:26, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Покрытие кода тестами и покрытие кейсов тестами - две большие разницы.
    В современном говнокодинге ориентируются именно на первое.
    А количество кейсов в мало-мальски сложных проектах стремится к бесконечности.
     
  • 4.29, Аноним (29), 17:26, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я такие "дырки" специально оставлял пару раз :) Естественно, не будет никаких зафейленных тестов, если "уязвимость" оставлена намеренно.
     
  • 2.15, macfaq (?), 14:22, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    OWASP Top 10.
     

  • 1.11, пох. (?), 13:42, 11/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    полез проверить - филенотфоунд. Что за херня? А-а-а-а, это ж только в моднявой 8.0 додумались, я снова ср-ный неудачник.

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

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

     
     
  • 2.13, Aa (?), 14:08, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что такое - хромоног?
     
     
  • 3.16, Аноним (14), 14:24, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    В данном контексте безголовый хром.  
     
  • 3.45, нах.. (?), 22:29, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Проходите дальше, не задерживайтесь.
     
  • 3.66, asand3r (ok), 12:51, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я тоже не понял.
     
  • 2.36, Онаним (?), 18:27, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Все предыдущие обработчики ../ в путях уволились.
     
  • 2.48, Михрютка (ok), 22:58, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>> я снова ср-ный неудачник.

    не огорчайтесь так, для вас все еще остается log4j

     
     
  • 3.58, пох. (?), 08:38, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это не для нас, это для оправдания своей немаленькой зарплаты и при этом чтоб ничего не делать (сделать-то все равно ничего нельзя, ты не факт что даже знаешь что там ипользуется в этих купленных за миллионы деньгов копропротивных системах, и тем более ничего не можешь поправить)

    А СВОИХ программ на жабе у меня только ldap browser - и там нет log4j, он вообще немодный.

     
  • 2.70, Аноним (70), 18:23, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > В общем-то все понятно было ровно с момента, когда они притащили в графану (в общем-то копеечный код умеющий ровно рисовать картинки и более ничего) - целиком хромонога потому что ниасиляторы.

    Что ж ты не прислал патч и не показал как надо? Копеечный код же. Ах, ну да, ты же только на опеннете можешь ляссы точить.

     
     
  • 3.81, пох. (?), 23:09, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Прислал. Имени Бармина. У меня нет и не будет нигде использоваться графана от таких альтернативно-одаренных, которым ради статичной картинки с собственного движка скопированной - нужен - хромоног.

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

    > Ах, ну да, ты же только на опеннете можешь ляссы точить.

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

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

     

  • 1.20, Аноним (20), 16:00, 11/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Декада хипстоты потихоньку уходит в небытие. Интересно, кто же их заменит...
     
     
  • 2.24, Аноним (22), 16:24, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Они не уходят, а подростают из ВАЙТИШНИКОВ в ой б$% ну вас нах% пойду лучше дизайном заниматься.
    Или ну ок пойду получать профильное образование раз говнолепно делаю все.

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


    Кастуйте новое название для них. Что там сейчас Манкрафтеры?

     
     
  • 3.25, Аноним (25), 16:38, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Кастуйте новое название для них. Что там сейчас Манкрафтеры?

    чем "пориджы" не устраивает?

     
     
  • 4.60, Ananimasss (?), 09:15, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще говоря поридж - это не обязательно молодой.
    Это просто недалекий, падкий до броских названий и захранишного. Просто среди школоты таких больше.

     
  • 3.50, Аноним (50), 23:32, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Раньше были формошлёпами для делфи, потом формошлёпы для пхп, так что формошлёпами пусть и остаются. Тут видь главное, что красиво, с рамочками, графиками, подсветочкой
     

  • 1.43, YetAnotherOnanym (ok), 20:36, 11/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У приличных людей все эти "../" обрабатываются пока оно ещё URL, и только потом то, что получится, маппится в локальный ресурс или обработчик.
     
     
  • 2.49, Аноним (46), 22:58, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дак вот кто сидел в апаче и приделывал там костыли! А потом получили очередную дыру - точки были заенкодены... Потом - дважды енкодены...
     
     
  • 3.52, YetAnotherOnanym (ok), 01:07, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эээ... Я, вообще-то, не про Апач.
    Кстати, а в чём проблема - декодить в цикле (как завещал великий Дийкстра) пока оно не перестанет изменяться? И только после этого пройти по пути URL'а?
     
     
  • 4.59, пох. (?), 08:42, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    в том же самом проблема, что и использовать универсальный парсер url для ненужного ненужно ldap:// эмбеднутого в нескучный логгер.

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

    Поэтому никаких декодингов в цикле. После одного, ровно одного прохода - фильтрация левых символов, нормализация, и 404 notfound или вообще 444.

    Ну это если тебя волнует безопасность, а не conformance высосанным из пальца теоретиками (потому что в 80 лет уже нельзя быть практиком, а нехилую зарплату хочется, таблеточки дороги) стандартам.

     
     
  • 5.80, YetAnotherOnanym (ok), 23:04, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Поэтому никаких декодингов в цикле. После одного, ровно одного прохода - фильтрация
    > левых символов, нормализация, и 404 notfound или вообще 444.

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

     

  • 1.53, Аноним (53), 05:10, 12/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как зарубить ../ в том же nginx? Эти точечки никлому не упали
     
     
  • 2.62, Ananimasss (?), 09:20, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А зойчем, при настроенных правах ничего интересного ты от ввв не прочтешь.
    А если еще оно крутится-вертится в тюрячках, как и должно, то совсем мало чего интересного.
     
     
  • 3.67, пох. (?), 14:59, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "Крайне мало [интересного] известно о зомби-снежном человеке. Кроме его социального номера, адреса, возраста, любимого кушанья..."

    Вот например, прекрасно получается /etc/passwd - что дает прекрасную информацию как минимум о наличии персональных учеток. А то и других уязвимых сервисов.

    > А если еще оно крутится-вертится в тюрячках, как и должно

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

     
     
  • 4.71, Аноним (70), 18:26, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот например, прекрасно получается /etc/passwd - что дает прекрасную информацию как минимум о наличии персональных учеток. А то и других уязвимых сервисов.

    Персональные учётки на серверах? Админ локалхоста детектед.

     
     
  • 5.72, Онаним (?), 18:33, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А куда деваться с серверов от персональных учёток?
    Или вы предпочитаете один рут на весь зоопарк из 5 отделов?
    Или может быть централизованный сервер конфигураций (заодно вместе со СКУДами, по недавнему примеру), при взломе которого положат всю вашу инфраструктуру целиком, и при падении которого вы даже дверь в серверную не откроете?
     
     
  • 6.75, пох. (?), 18:57, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А куда деваться с серверов от персональных учёток?

    девляпс подход, у них всегда так. Все ключи от всего в etcd. А потом - ой дверь не открывается. Жаль что снаружи, и фреон не подали как положено.

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

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

     
  • 5.74, пох. (?), 18:53, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    точна, девляпсы с миллиардами серверов-то всегда рутом ходют.

    (ну а кто наcpaл в лифте при этом определяют по запаху, логи ведь тоже нинуна и их нет, а если и есть то там рут)

     
  • 3.73, Онаним (?), 18:36, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А если учесть что девляпсы любят в этих тюрячках пароли от редисок забывать...
     
     
  • 4.76, пох. (?), 18:58, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А если учесть что девляпсы любят в этих тюрячках пароли от редисок
    > забывать...

    а что, там еще и пароль был?!

     
     
  • 5.77, Онаним (?), 20:19, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну это да, шутка юмора была такая.
    Но суть та :D
     
  • 2.64, Аноним (64), 09:21, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Всё просто берешь исходники и правишь их.  
     
     
  • 3.69, пох. (?), 15:38, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Угу, у тебя ж бесконечная жизнь и кряк на бесконечные деньги.

    Ты можешь поправить вообще всё. Жаль, что почему-то пока нет.

     
  • 2.79, SubGun (??), 21:25, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > А как зарубить ../ в том же nginx? Эти точечки никлому не упали

    Я вообще удивлен, что в 2021 году веб-серверы еще обрабатывают "../" в URL.

     

  • 1.56, Wilem82 (ok), 08:13, 12/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    А всё потому, что часть стандартной библиотеки по работе с путями в го - имя-языка-вно. Писали бы на расте, не знали бы проблем.
     
     
  • 2.61, Аноним (64), 09:19, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Писали бы на расте и была бы еще дна проблема под названием раст. Вот Хасекль это дело.  
     
     
  • 3.65, Онаним (?), 10:55, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что самое интересное - пиши это дело PHP'шники, и такого говна не было бы.

    Потому что в мире PHP все эти проблемы с ../ и многим прочим уже 100500100500 раз обсосаны и известны каждому школьнику, а не валидировать самостоятельно пользовательский ввод, надеясь на библиотеки, уже рискуют всего лишь 2 из 3 студентов. Моднявчикам же по этим граблям ещё предстоит походить основательно, они просто пока относительно неуловимый Джо, поэтому их не трогают.

     
     
  • 4.87, anonymous (??), 12:27, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Язык и данная проблема -- вещи ортогональные. А если говорить про культуру, то, мне кажется, на PHP как раз такие ошибки допускают чаще всего. Кстати, под Go, вроде был linter, который находил такие проблемы.
     
     
  • 5.88, Онаним (?), 14:33, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А тут не в языке дело, а в специфике, связанной с окружением языка.
     
  • 3.68, пох. (?), 15:01, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    да никакой проблемы - нет кода, нет уязвимостей. Хаскель, конечно, надежнее.

     

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



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

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