Была обнаружена новая проблема безопасности, затрагивающая плагин JetBrains GitHub, потенциально приводящая к раскрытию токенов доступа сторонним сайтам. Проблема затрагивает все IDE на базе IntelliJ начиная с версии 2023.1, если у них включен и настроен/используется плагин JetBrains GitHub. 

Проблема уже устранена, и для всех IDE на базе платформы IntelliJ, начиная с версии 2023.1, выпущено обновление, содержащее исправление.

Список апдейтов с фиксом

Aqua: 2024.1.2

CLion: 2023.1.7, 2023.2.4, 2023.3.5, 2024.1.3, 2024.2 EAP2

DataGrip: 2023.1.3, 2023.2.4, 2023.3.5, 2024.1.4

DataSpell: 2023.1.6, 2023.2.7, 2023.3.6, 2024.1.2

GoLand: 2023.1.6, 2023.2.7, 2023.3.7, 2024.1.3, 2024.2 EAP3

IntelliJ IDEA: 2023.1.7, 2023.2.7, 2023.3.7, 2024.1.3, 2024.2 EAP3

MPS: 2023.2.1, 2023.3.1, 2024.1 EAP2

PhpStorm: 2023.1.6, 2023.2.6, 2023.3.7, 2024.1.3, 2024.2 EAP3

PyCharm: 2023.1.6, 2023.2.7, 2023.3.6, 2024.1.3, 2024.2 EAP2

Rider: 2023.1.7, 2023.2.5, 2023.3.6, 2024.1.3

RubyMine: 2023.1.7, 2023.2.7, 2023.3.7, 2024.1.3, 2024.2 EAP4

RustRover: 2024.1.1

WebStorm: 2023.1.6, 2023.2.7, 2023.3.7, 2024.1.4

Плагин JetBrains GitHub был обновлен, и исправленные версии теперь доступны в маркете. Старые, уязвимые версии были удалены из JetBrains Marketplace. Мы настоятельно рекомендуем обновиться до последней версии, если вы еще этого не сделали.

Детали

29 мая 2024 года мы получили внешний отчет о безопасности с подробной информацией о возможной уязвимости, которая может затрагивать функциональность pull request через IDE. В частности, вредоносное содержимое, являющееся частью pull request в проект на GitHub, обрабатываемого в IDE на базе IntelliJ, могло бы привести к утечке токенов доступа на сторонний сервер. Уязвимости был присвоен идентификатор CVE-2024-37051

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

Что требуется от вас

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

Кроме того, если вы активно использовали функциональность GitHub pull request в IDE, мы настоятельно советуем отозвать все токены GitHub, используемые плагином. Поскольку плагин может использовать интеграцию OAuth или личный токен доступа (Personal Access Token - PAT), проверьте оба и при необходимости отзовите их:

  1. Настройки интеграции OAuth: перейдите в раздел "Applications" → "Authorized OAuth Apps" и отзовите доступ для приложения JetBrains IDE Integration.

  2. Настройки личного токена доступа: перейдите на страницу токенов и удалите токен, выданный для плагина. Имя токена по умолчанию — IntelliJ IDEA GitHub integration plugin, но вы также могли использовать свои собственные имена.

Обратите внимание, что после отзыва токена вам потребуется заново настроить плагин, так как все его функции (включая операции с Git) перестанут работать. 

Мы искренне приносим извинения за возможные неудобства. Спасибо за понимание.


Присоединяйтесь к русскоязычному сообществу разработчиков на Spring Boot в телеграм - Spring АйО, чтобы быть в курсе последних новостей из мира разработки на Spring Boot и всего, что с ним связано.

Ждем всех, присоединяйтесь!

Комментарии (12)


  1. DArtN
    10.06.2024 18:01
    +4

    Эх, обновился бы я до новой версии ультимативной идеи...


    1. alexander-shustanov
      10.06.2024 18:01
      +3

      Вы можете попробовать последнюю версию Community + Amplicode
      https://habr.com/ru/companies/haulmont/articles/814207/


  1. antonstovpets
    10.06.2024 18:01

    Зачем это редактор нужен, если есть code?


    1. spring_aio Автор
      10.06.2024 18:01
      +7

      code это vs code? если так, то code и есть редактор, а IntelliJ IDEA - IDE
      применительно к Java, idea - иде по умолчанию


      1. antonstovpets
        10.06.2024 18:01

        Ерунду пишите. Vscode этоти ide , так как там всё расширяемо.


        1. spring_aio Автор
          10.06.2024 18:01
          +7

          Формально, vs code конечно ide, но не из-за расширяемости, а из-за наличия файлового менеджера, редактора кода, дебаггера и тд
          Другое дело качество этого всего. Дебаггер - ужасный, стандартный гит клиент - просто что-то с чем-то. От редактора кода я не в востроге, но это еще можно к вкусовщине отнести.
          Расширяемость code это вообще отдельный разговор. Поддержать новый фреймворк в нем очень не просто, потому что LSP. Нужно либо расширять существующий LSP, если это возможно, либо писать свой. В результате, у нас помимо самого code крутится несколько LSP серверов, которые жрут ресурсы не меньше intellij.
          Поэтому многие популярные экстеншны для code работают на через regexp, потому что модель кода себе подтягивать дорого/сложно.


    1. gpaw
      10.06.2024 18:01
      +2

      это вопрос удобства и предпочтений. кто-то кодит в vim (neovim), кто-то в vscode, кто-то использует продукты JetBrains. дело в производительности. когда твоя IDE может обеспечить тебе комфорт и прирост в производительности - это = некий процент в производительности. с учётом ФОТ > среднего для разработчиков - покупка лицензии, если работник предпочитает платную IDE - вполне оправданное решение.


    1. Genka_pokos
      10.06.2024 18:01
      +2

      "Зачем жрать картошку, если есть капуста?"


  1. SUNsung
    10.06.2024 18:01
    +4

    И вот мы дожили до того момента, когда ИБ большой фирмы будет контролировать и устанавливаемые плагины к IDE.

    А вообще логично - если что то можно скомпроментировать, это скомпроментируют.

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

    Не так давно пришлось откатывать версию GoLand после обновления потому как отвалилось все-все на python (а он использовался много где, и для тестов и для билдинга). Причем это не системный косяк какой-то, сама IDE просто отказывалась принимать что либо связаное с python. Зачем делать универсальную удобную IDE под любую платформу (с фокусировкой но все же) что бы потом забирать эту самую универсальность?

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

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

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

    • Настройки в целом - они бы еше просто yml текстом открывали, что бы "внести изменения"

    • Редактор - его нет. Никаких фишек IDE я не заметил, зато заметил что литнер слишком много хочет и если у си-файла нужно правильно подключить либу что бы ее нашло, то редактор даже не соизволит пытатся опознать код (тот же Kate и переменные подскажет и скобки найдет/свернет и тому подобное)

    • Дизайн - иногда мне кажется что в JetBrains завели отдел для толерантности. Как портят игры, так у них занимаются "продвижением" "полезных интерфейсов". И самое главное даже нельзя ничего переключить или поменять.

      .

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

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


    1. flancer
      10.06.2024 18:01

      Я лет 5-7 плотно сидел на Eclipse, когда программировал на Java, потом начал программировать на PHP и перешёл на PhpStorm - аналогичная среда на Eclipse не тянула файлы Magento 1, зависала при индексации. Слишком уж обширная кодовая база была. Уже больше 10 лет сижу на IDEA.

      Ну что сказать, привыкание шло сложно, при смене IDE резко падает производительность - нужно менять привычки работы с "горячими клавишами" и вообще, подбирать плагины в IDE под свои задачи. Потом привыкаешь (через год-другой) и становится норм. Но вот за последние года 3 делал попытки уйти обратно на Eclipse или в VsCode (я сейчас на JS'е в основном программлю). Если раньше в IDEA стремились быть удобными для разрабов, то сейчас они стремятся быть "на гребне волны". Всё время какие-то изменения, приводящие меня в ступор. То шрифты в размере поменяются после обновления, то комменты по другому стали выглядеть, горячие клавиши на русской раскладке в Ubuntu работают через одну, а иногда вообще слетают во время работы (Ctrl + Shift + /, например) - приходится перегружать IDE. Docker-плагин зачем-то стал требовать при обновлениях. Новый интерфейс а-ля VsCode мне зашёл, но зачастую новые проекты в новом окне открываются без полоски меню и верхнего тулбара. Опять приходится перегружать IDE. В общем, когда-то действительно была удобная IDE, а сейчас "Стабильности не хватает", как говорили в одном фильме.


  1. Throwable
    10.06.2024 18:01

    Сегодня как раз внезапно PR вьюха отключилась. Потратил час, прежде чем нашел тред в саппорте. Обновился, перелогинился и все завелось.

    Пожелание на будущее: в подобных ситуациях хочется, чтобы IDE предупреждала о необходимости обновляться например попапом, а не просто отваливаться.

    P.S. imho зря на Intellij гонят -- отличные IDE и развиваются в правильном направлении.


    1. santjagocorkez
      10.06.2024 18:01
      +1

      Об обновлении подскажет Toolbox.

      А вот говна навертели там знатно:

      • система плагинов до сих пор жестко прибита к версии IDE; обновилась она — всем срочно бежать бампать версию АПИ плагинов в своих плагинах, иначе не заведется, даже если используемые плагином АПИ не менялись; так, например, отгнил плагин git-flow

      • в PyCharm уже больше года, а то и двух, не могут пофиксить переход к реализации/декларации; если в каталоге рядом с модулем реализации есть .pyi, то в обоих случаях откроет его, если его нет, то с некоторым успехом может открыть исходник реализации