А зачем нужно писать тест на то, что добавление элемента в список увеличивает его размер на единицу? По-моему, пример слишком искусственный. В реальных задачах мне даже дольше придется комментарий формулировать с описанием теста, чем сам тест написать.
Как минимум 2 проблемы возникли из-за использования в базе данных автоинкрементных значений в ключах. Может быть просто не использовать автоинкременты, тогда и проблем не будет?
Судя по тому, что я накопал в их гитхабе, опасная интерполяция строк - это не отдельная фича, а особенность реализации фичи с лукапами. Там была когда-то реализована возможность по регулярному выражению что-то подставить уже после того, как строка была отформатирована. Обычно это делается для скрытия паролей и другой конфиденциальной инфы. А уже потом, когда добавляли lookups, вставили его не в то место, где осуществляется форматирование, а в то место, где осуществляется финальная подстановка.
На мой взгляд, тут проблема именно в спонсорах. Если я сделаю pull request с какой-нибудь фичей, ее будут рассматривать под микроскопом, спрашивать: "а зачем это?", "а для чего?", "а безопасно ли?", "а кому это нужно?". Если же спонсор кинет емэйл мэйнтэйнеру: "Бро, сделай вот эту штуку, плиз", - то сам мэйнтэйнер быстренько запилит, быстренько отревьюит, быстренько вольет, и никто не заметит.
Тут вообще от архитектуры надо идти. Должно быть некое ядро и динамически подключаемые плагины. Нужна какая-то хитрая специфическая функциональность - пили плагин. Если какой-то плагин оказывается уязвимым, отключаешь его, и все. Тут же специфическую для очень редких случаев функциональность воткнули прямо в ядро, на мой взгляд, из-за желания угодить спонсорам.
Это вендоры Java EE-серверов приложений активно донатят в оупенсорс вообще и в проект Apache в частности, вот по их заказу и запилили этот бэкдорт данную полезную «фичу».
Как действовать, если сервис водит водителя не по той дороге? У меня есть одно место, куда я часто вызываю такси, где-то в начале года машины стали за 150 метров до точки по прямой дороге заворачивать и делать крюк в 1.5 км по дворам и тротуарам.
unfortunately the lookup is performed after formatting the message, which includes the user input. Hence the vulnerability can still be triggered using a ParametrizedMessage:
А зачем нужно писать тест на то, что добавление элемента в список увеличивает его размер на единицу? По-моему, пример слишком искусственный. В реальных задачах мне даже дольше придется комментарий формулировать с описанием теста, чем сам тест написать.
Как минимум 2 проблемы возникли из-за использования в базе данных автоинкрементных значений в ключах. Может быть просто не использовать автоинкременты, тогда и проблем не будет?
Как это делается? Я знаю только как отдавать разные сертификаты на разные имена хостов. Имя хоста передается в SNI.
Захожу на gosuslugi.ru яндекс.браузером. Смотрю сертификат:
Signature Algorithm: GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)
Запускаю openssl s_client -connect gosuslugi.ru:443 -showcerts. Смотрю сертификат:
Signature Algorithm: sha256WithRSAEncryption
Расскажите, пожалуйста, как это работает. Интересна реализация как на клиенте, так и на сервере. Можно ли такую настройку сделать средствами nginx?
JEP 400 ждем с 1-й версии. Благодаря ему, 18-я - это 1-я ява, которую я поставил на этапе early access.
Слово own, как мне кажется, не везде уместно. Например:
-- Приезжай в гости со своими друзьями.
Местоимение можно использовать без обозначения предмета. Например:
-- Кто там?
-- Свои.
Самые частоупотребляемые русские слова, отсутствующие в английском языке, - возвратные притяжательные местоимения.
Свой, свои, своя, свое.
Раньше, очень давно, могла. Но технологию эффективно придушили где-то во времена перехода от Sun к Oracle.
«поведение логгера, ожидаемое большинством программистов» было задокументировано.
Фактическое поведение задокументировано не было.
Говорят, постарадала игра minecraft. Там в чат что-то вредоносное закинули.
Судя по тому, что я накопал в их гитхабе, опасная интерполяция строк - это не отдельная фича, а особенность реализации фичи с лукапами. Там была когда-то реализована возможность по регулярному выражению что-то подставить уже после того, как строка была отформатирована. Обычно это делается для скрытия паролей и другой конфиденциальной инфы. А уже потом, когда добавляли lookups, вставили его не в то место, где осуществляется форматирование, а в то место, где осуществляется финальная подстановка.
На мой взгляд, тут проблема именно в спонсорах. Если я сделаю pull request с какой-нибудь фичей, ее будут рассматривать под микроскопом, спрашивать: "а зачем это?", "а для чего?", "а безопасно ли?", "а кому это нужно?". Если же спонсор кинет емэйл мэйнтэйнеру: "Бро, сделай вот эту штуку, плиз", - то сам мэйнтэйнер быстренько запилит, быстренько отревьюит, быстренько вольет, и никто не заметит.
Тут вообще от архитектуры надо идти. Должно быть некое ядро и динамически подключаемые плагины. Нужна какая-то хитрая специфическая функциональность - пили плагин. Если какой-то плагин оказывается уязвимым, отключаешь его, и все. Тут же специфическую для очень редких случаев функциональность воткнули прямо в ядро, на мой взгляд, из-за желания угодить спонсорам.
Что-то мне кажется, что это попытка переложить с больной головы на здоровую. Я ситуацию вижу так:
Вот эти компании https://www.apache.org/foundation/thanks сами же и продонатили вот эту фичу https://issues.apache.org/jira/browse/LOG4J2-313
Никто из пострадавших данную фичу не заказывал и ею не пользовался. Получается наоборот, если бы спонсоры не вмешивались, то и проблемы бы не было.
https://nvd.nist.gov/vuln/detail/CVE-2021-44832
https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?name=CVE-2021-44832&vector=AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H&version=3.1&source=NIST
https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator?name=CVE-2021-44832&vector=(AV:N/AC:M/Au:S/C:P/I:P/A:P)&version=2.0&source=NIST
CVSSv2 score 6.0 Medium
CVSSv3 score 6.6 Medium
остальное - просто привиделось
Это вендоры Java EE-серверов приложений активно донатят в оупенсорс вообще и в проект Apache в частности, вот по их заказу и запилили
этот бэкдортданную полезную «фичу».Как действовать, если сервис водит водителя не по той дороге? У меня есть одно место, куда я часто вызываю такси, где-то в начале года машины стали за 150 метров до точки по прямой дороге заворачивать и делать крюк в 1.5 км по дворам и тротуарам.
Если девайс не брать с собой в туалет, то он узнает о том, что вы там были, через минуту после того, как вы оттуда вернетесь.
https://issues.apache.org/jira/browse/LOG4J2-3198?focusedCommentId=17457333&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17457333
unfortunately the lookup is performed after formatting the message, which includes the user input. Hence the vulnerability can still be triggered using a ParametrizedMessage:
Больше всего в дизайне клавиатур меня волнует один вопрос: Почему нет отдельной кнопки для переключения языков?
Вот вместо сфзыдщсл хотя бы. Ой, не сработало переключение на английский язык.
У них и в других системах так. Например, в браузере после одного из обновлений нельзя сделать закладку, пока не залогинишься в яндексе.