Осем уязвимости в сигурността на NodeBB бяха публично оповестени в сряда, заедно с код за тяхното експлоатиране. Aikido Security оценява и осемте като критични по сериозност и заявява, че нейните агенти за тестване за проникване (pentest), базирани на изкуствен интелект (ИИ), са ги открили в рамките на шестчасов преглед на изходния код на форумния софтуер.
Засегнати са всички версии преди 4.14.0. NodeBB е отстранила всички проблеми, а администраторите трябва да преминат към версия 4.14.2.
Най-простата за експлоатиране уязвимост изисква само промяна на настройка. Обикновен член на форума може да насочи настройката за лична начална страница към администраторския адрес, да презареди страницата и администраторското табло се отваря пред него. Без парола и без експлоит код.
Собственият интерфейс на форума блокира тази настройка, но блокирането се е изпълнявало само в браузъра и е можело да бъде заобиколено. По-голямата част от това, до което потребителят е получавал достъп след това, е било в режим само за четене, включително регистъра с грешки (error log) и всеки списък с потребители, експортиран от администратор, въпреки че са могли също така да подменят логото на сайта.
Други две уязвимости предоставят на атакуващ без никакъв акаунт достъп до информация, която би трябвало да е поверителна. Едната позволява на всеки да се представи за произволен потребител и да чете лични съобщения едно по едно. Другата предава съдържанието на частни категории на всеки, който ги поиска по правилния начин.
Най-широкообхватният дефект е в начина, по който NodeBB генерира страниците си. Софтуерът попълва страницата, след което прави втори пропуск, за да замени преведения текст. Въведените от потребителя данни вече са били в страницата до този момент и са могли да вмъкнат кодовете, които вторият пропуск търси. Това позволява на атакуващия да постави връзка почти навсякъде в сайта, включително в обикновени публикации във форума, която изпълнява неговия код, когато посетител щракне върху нея.
Останалите уязвимости позволяват на атакуващия да поеме контрол над съществуваща публикация, да манипулира броя на гласовете за публикация и да извърши две атаки, които внедряват злонамерен код чрез фалшив сървър във fediverse – мрежата от свързани социални сайтове, към която форум на NodeBB може да се присъедини.
Осемте уязвимости не са еднакви. Три не изискват акаунт в целевия форум. Две изискват обикновен потребителски акаунт. Последните три изискват някой да кликне върху връзка или да отвори страница.
Пет от осемте, по изчисления на The Hacker News, се намират във федеративния код на NodeBB – частта, която свързва форума с Mastodon и други социални сайтове. Това определя кой е бил изложен на риск. Форуми, инсталирани наново с версия 4, се федерализират по подразбиране, така че са имали и осемте уязвимости. Форумите, обновени от версия 3, са имали автоматично изключена федерация и освен ако администраторът не я е включил ръчно, са били засегнати само от три от уязвимостите.
Aikido не публикува оценки за сериозност за отделните дефекти, а бележките по изданието на NodeBB не ги оценяват. Собствената скала за награди за открити бъгове (bug bounty) на NodeBB оценява междусайтовото скриптиране (XSS) и превземането на акаунт като високорискови, а получаването на администраторски достъп – като критично.
NodeBB отстрани повечето от тях тихомълком, без да обяснява какви са били. The Hacker News провери всяка корекция спрямо историята на версиите на NodeBB: четири са внедрени през май, две през юни, а най-голямата – пренаписване на начина, по който софтуерът обработва текста на страницата, пристигна във версия 4.14.0 на 9 юли. Това пренаписване е засегнало 325 файла.
Техническият анализ на Aikido твърди, че проблемите са били коригирани в началото на юли, което не съвпада с хронологията на версиите. Връзката за корекцията на администраторския панел сочи към промяна, направена през януари 2024 г., две години преди прегледа, докато бележките по изданието на NodeBB посочват различна промяна от май. Нито една от страните не обяснява това разминаване.
Администраторите трябва да се актуализират до версия 4.14.2, пусната на 23 юли. Очаква се допълнителна работа, тъй като 4.14.0 промени начина, по който шаблоните на страници обработват текст, и персонализираните теми и плъгини може да се нуждаят от обновяване. Изключването на федерацията също не е пълно решение, тъй като три от уязвимостите нямат нищо общо с нея.
Никоя от осемте уязвимости няма CVE идентификатор и никой не е съобщил за атаки, които ги използват. Отделен федеративен дефект в NodeBB обаче има такъв – CVE-2026-58593, регистриран на 1 юли. Той не е сред осемте на Aikido, но се намира в същия код и позволява на външен сървър да публикува и изпраща съобщения от името на всеки локален акаунт, включително на администратора. Изисква включена федерация, а в регистъра не се посочва коригирана версия.
Страницата за награди за открити уязвимости на NodeBB посочва, че отхвърля доклади, генерирани от ИИ, и плаща само за работа, извършена лично от подателя. Това урежда плащанията, а не корекциите, и тези осем проблема са докладвани директно на разработчиците и са отстранени.
NodeBB не е единственият проект, който се сблъсква с това: платформата за автоматизация n8n коригира уязвимост при влизане през юни, открита от различен ИИ агент за тестване за проникване. В съобщението за изданието съоснователят Джулиан Лам отбелязва, че валидни доклади за сигурност са пристигали постоянно през месеца, „въпреки че почти всички бяха открити и генерирани от ИИ“.
Моделът зад всички осем уязвимости е еднакъв. NodeBB е проверявала самоличността на потребителя при основния достъп до дадена функция, но е пропускала проверката при алтернативните пътища, достигащи до същото място.