Ядрото на Drupal съдържа критична уязвимост в модула Field UI, която би могла да позволи на атакуващ да изпълни код на сървъра на сайта, като корекциите за сигурност бяха пуснати на 14 октомври във версии Drupal 11.4.10, 11.3.19 и 10.6.19.

Атакуващ не може да достигне до уязвимостта единствено чрез ядрото, заявява екипът по сигурност на Drupal (Drupal Security Team) в своя бюлетин. Съществуват няколко пътя за експлоатация чрез допълнителни модули (contributed modules), като при поне един известен вектор не се изисква влизане в профил.

Проследявана под номер CVE-2026-108097, уязвимостта се намира във Field UI – основният модул от ядрото, обслужващ административните страници, където създателите на сайтове управляват полетата и начина им на визуализация. Drupal ѝ дава оценка 19 от 25 по собствената си скала за риск – ниво, което проектът определя като критично.

Бюлетинът не посочва имената на допълнителните модули, които отварят път към уязвимостта, като персонализиран код също може да я направи достъпна. Докладването ѝ е приписано на Drew Webber от екипа по сигурност и Octavio Galland.

Какво да направите сега

Коригираните версии за всеки поддържан клон са:

  • Drupal 11.4.x: обновяване до 11.4.10
  • Drupal 11.3.x: обновяване до 11.3.19
  • Drupal 10.6.x: обновяване до 10.6.19
  • Drupal 12.0.0 beta: 12.0.0-beta2, която не е предназначена за продукционна употреба
  • Няма корекция: Drupal 11.2.x и по-стари, 10.5.x и по-стари, както и Drupal 8 и 9, които са с изтекъл жизнен цикъл

Както 11.3.x, така и 10.6.x губят поддръжка за сигурност през декември 2026 г.

През седмицата, започваща на 4 октомври, 151 442 от 531 499 сайта, докладвали своята версия на ядрото на Drupal към drupal.org (28.5%), са използвали клон, посочен в бюлетина като засегнат и за който няма осигурена корекция.

Сайт, който все още не може да се обнови, може да деинсталира модула Field UI (field_ui), което „ще осигури защита, докато сайтовете бъдат обновени“, посочва бюлетинът. Административните страници за управление на полетата и тяхното показване са недостъпни, докато модулът е деинсталиран.

Field UI се инсталира от стандартния инсталационен профил (Standard) на Drupal, така че сайт, създаден с този профил, разполага с модула, освен ако някой не го е премахнал.

Drupal Steward, услуга за защитна стена за уеб приложения (WAF) с правила, написани от екипа по сигурност, вече блокира някои известни вектори на атака за тази уязвимост. Acquia, Pantheon, Ironstar и Skpr я предоставят на своите клиенти. Тя не покрива всеки възможен експлойт и тези сайтове все пак трябва да се обновят, се казва в бюлетина.

Бюлетинът оценява уязвимостта като нямаща публично достъпен код за експлоатация към момента на публикуване. Към 15 октомври такъв не се е появил и нито бюлетинът, нито публични доклади описват атаки с нейното използване.

Екипът по сигурност предварително обяви излизането на обновяването на 12 октомври и посъветва администраторите на сайтове да отделят време за него, „тъй като експлойти могат да бъдат разработени в рамките на часове или дни“.

През май Drupal съобщи за опити за експлоатация в рамките на два дни след бюлетина си за уязвимост от тип SQL инжекция в ядрото, засягаща само сайтове с PostgreSQL, като CISA добави уязвимостта към своя каталог с експлоатирани уязвимости.

Какво промени корекцията

Field UI изгражда административните си таблици чрез масиви за визуализация (render arrays) – PHP масивите, които Drupal превръща в HTML. Преди корекцията за сигурност стъпката за предварителна визуализация (pre-render) на елемента на таблицата изпълняваше всяка PHP функция (callable), която даден ред от таблицата съдържаше в свойството си #region_callback, чрез call_user_func_array, без проверка каква всъщност е тази функция.

Рендърерът на Drupal отказва да изпълнява ненадеждни извиквания за визуализация (render callbacks) от версия 8.8 през 2019 г. – ограничение, въведено след като по-ранни бюлетини показаха, че системата за визуализация може твърде лесно да извиква произволни функции. Рендърерът се доверява на собствените методи на елемента на таблицата, затова е изпълнявал стъпката pre-render, а проверката никога не е достигала до функцията, която тази стъпка впоследствие изпълнява.

Кодът във версия 11.4.10 вече не извиква въпросната функция. Той прочита региона на всеки ред от собствената стойност за регион на реда и използва скрития регион на таблицата или първия ѝ регион, когато тази стойност не съответства на познат регион. Същото извикване присъстваше в кода поне от Drupal 8.9.0 през 2020 г.

В самото ядро извикването се задава единствено от собствените форми за показване на Field UI. Потребителски код, който е задавал #region_callback върху ред на field_ui_table, вече няма да се изпълнява след обновяването. Pantheon съветва сайтовете да проверят за подобен код и да тестват страниците за управление на полета и управление на показването след обновяването.

Отделно от това модулът Entity List получи собствен бюлетин за критична уязвимост за отдалечено изпълнение на код (CVE-2026-108099) при същите условия, включително известен вектор без необходимост от вход. Бележките към версия 3.0.10 посочват, че корекцията повтаря промяната във Field UI, като обновяването на ядрото не обновява самия модул. През седмицата от 4 октомври 90 сайта са докладвали използването му.

Същите версии на ядрото отстраняват и две уязвимости от тип междусайтово скриптиране с умерена критичност – в модула Link (CVE-2026-108515) и модула Navigation (CVE-2026-108514), като и двете изискват поне логнат потребител.

Drupal 7 достигна край на жизнения си цикъл в drupal.org през януари 2025 г., но от Pantheon съобщават, че в рамките на тяхната дългосрочна поддръжка за Drupal 7 съвместно с Tag1 Consulting е пусната версия Drupal 7.107 с бекпорт на корекцията.