Две от 31 новооповестени уязвимости в базата данни MarkLogic Server на Progress Software биха могли да позволят на профил, разполагащ само с определени права за управление, да поеме пълен администраторски контрол над сървъра, съобщава компанията.
Progress публикува всичките 31 уязвимости на 12 октомври и определи пет от тях като критични. Корекции за сигурност са налични от 10 септември в MarkLogic 11.3.7 и MarkLogic 12.1.0.
Засегнати версии и версията, която отстранява всяка от тях:
- MarkLogic 11.x преди 11.3.7: надграждане до 11.3.7
- MarkLogic 12.x преди 12.1.0: надграждане до 12.1.0
MarkLogic 11.3 е линията с дългосрочна поддръжка (LTS). Линията 12, която Progress определя като иновационна версия, няма коригирана версия 12.0. Корекцията за сигурност за нея е 12.1.0, която добавя и нови функционалности.
Инсталирането на корекциите за сигурност за десетте уязвимости в MarkLogic, които Progress оповести през август, не е достатъчно. Тези корекции се появиха в 11.3.6 и 12.0.3, като и двете версии са засегнати от новите уязвимости.
Записите за CVE на Progress и нейните бележки по обновяването за двете версии не посочват дали някоя от 31-те уязвимости е била използвана при атаки. Нито една от тях не е фигурирала в каталога с известни експлоатирани уязвимости (KEV) на Агенцията за киберсигурност и сигурност на инфраструктурата на САЩ (CISA), когато The Hacker News направи проверка на 13 октомври.
Същите записи и бележки не посочват временно решение за клиентите, които все още не могат да извършат надграждане.
Какво позволяват критичните уязвимости
Progress оценява три от петте критични уязвимости с 9.9 от 10 по скалата CVSS, а останалите две – с 9.6. За всяка от тях атакуващият трябва вече да разполага с привилегия или с възможност за изпълнение на код на сървъра, според записите за CVE на компанията.
Две от тях засягат „гори“ (forests). В MarkLogic „гора“ е съвкупност от документи, прикрепена към база данни.
| CVE | Оценка | Какво е необходимо на атакуващия | Какво би могло да позволи |
|---|---|---|---|
| CVE-2026-85947 | 9.9 | Права за управление на гори (forest-management) | Създаване на постоянен администраторски профил, което потенциално осигурява пълен административен контрол над сървъра |
| CVE-2026-85948 | 9.9 | Права на ниво управление на потребители (manage-user) | Придобиване на постоянен административен контрол чрез уязвимост за XQuery инжектиране в отпаднал път от Management API |
| CVE-2026-85955 | 9.9 | Достъп за изпълнение на заявки и привилегия xdmp-eval-in | Изпълнение на код от страната на сървъра с повишени права |
| CVE-2026-85956 | 9.6 | Делегирани права на администратор на база данни | Архивиране или възстановяване на гори извън собствената база данни, позволяващо достъп до или промени в това, което Progress нарича „критични за сигурността данни“ |
| CVE-2026-9191 | 9.6 | Възможност за изпълнение на код чрез определени пътища за оценка на REST и XDBC | Извършване на неоторизирани действия или компрометиране на автентикирана сесия |
Корекцията за сигурност за CVE-2026-85947 показва кои профили са засегнати. Само по себе си „административно предоставяне на права на ниво гора“ вече не е достатъчно за прикрепяне на гора към база данни по избор на профила, посочват бележките по обновяването. Те също така инструктират клиентите да прегледат делегираните права за гори и бази данни преди надграждането, както и да извършат одит на ролите, които притежават xdmp-eval-in.
Външни изследователи са докладвали четири от петте уязвимости чрез Bugcrowd. Изследовател с псевдоним rexnets е посочен като откривател на CVE-2026-85947, CVE-2026-85948 и CVE-2026-85956, а друг с псевдоним WaltWhitehat – на CVE-2026-9191.
Уязвимости, зависещи от конфигурацията
Progress класифицира 24 от останалите уязвимости като високорискови, а две – като среднорискови. Уязвимостта с най-висока оценка, CVE-2026-85954 (8.6), би могла да позволи на атакуващ да придобие повече права от предоставените му чрез подаване на стойности към определени XQuery функции.
Няколко от останалите са приложими само когато се използва конкретна функционалност или платформа:
- SAML: При внедрявания, които използват SAML автентикация, неавтентикиран отдалечен атакуващ би могъл да накара сървъра да приеме твърдение (assertion), което би трябвало да отхвърли (CVE-2026-85962). При версия 11.x SAML анализаторът би могъл също да обработва външни DTD или ентитети (CVE-2026-85957).
- OAuth: Атакуващ би могъл да използва токен, който сървърът не би трябвало да приема (CVE-2026-85958). Корекцията добавя проверки за издател (issuer) и аудитория (audience) за Ping Identity и други OAuth конфигурации.
- Kerberos, базиран на парола: При определени конфигурации атакуващ с позиция в мрежата би могъл да се представи за услугата за автентикация на Kerberos (CVE-2026-85972).
- Облачен хостинг: Автентикиран атакуващ би могъл да получи достъп до вътрешни облачни услуги и да извлече облачни идентификационни данни в Azure (CVE-2026-85951) и при облачни внедрявания, базирани на Linux (CVE-2026-85952).
- Диагностични логове: При определени конфигурации сървърът би могъл да записва чувствителна за сигурността информация в диагностичните логове (CVE-2026-85949 и за Azure – CVE-2026-85961). Секретни ключове и сесийни токени на AWS са били записвани в чист текст, когато засегнатият IAM път за проследяване е бил активиран, се казва в бележките по обновяването.
- Amazon S3: Връзките към S3 биха могли по подразбиране да използват некриптиран текст (CVE-2026-85975).
- Query Console: Отдалечен атакуващ, който подведе вписан потребител на Query Console да отвори зловредна страница, би могъл да изпълни код от страната на сървъра с правата на този потребител (CVE-2026-85960). Автентикиран потребител на Query Console би могъл да чете произволни файлове от сървъра (CVE-2026-85964).
- Остарели компоненти: OpsDirector, отпаднала функция, би могла да позволи на неавтентикиран отдалечен атакуващ да отправя заявки към вътрешни услуги или да фалшифицира доверени заявки (CVE-2026-85963). Наследени модули на InfoStudio биха могли да предоставят достъп до файлове на сървъра (CVE-2026-85953).
Останалите включват три уязвимости, свързани с безопасността на паметта, уязвимост от тип междинно скриптиране (cross-site scripting), разделяне на HTTP отговори (HTTP response splitting) в Query Console, непоследователни TLS проверки на имената на хостове при някои изходящи връзки и некриптиран трафик за управление на клъстери при версия 12.x.
Какво променя обновяването
Progress съветва клиентите да прочетат бележките по обновяването, известните несъвместимости за 11.3.7 и тези за 12.1.0, преди да извършат надграждане. Бележките за 11.3.7 изброяват промени в поведението, свързани с 22 от уязвимостите, а бележките за 12.1.0 – с 21.
Промените, които могат да нарушат съществуващ код, инструменти или автоматизация, включват:
- mlcp: По-старите версии на MarkLogic Content Pump (mlcp) се провалят при новите версии с грешка XDMP-ISOLATED. Progress препоръчва mlcp 11.3.7 или 12.1.0. По-старите версии могат да работят с параметър -restrict_hosts, зададен на true, което може да намали производителността.
- Премахнати функции: API интерфейсът /manage/v2/packages, InfoStudio и OpsDirector са премахнати.
- Нови настройки по подразбиране: Обработката на външни XML обекти (XML external entity) е изключена по подразбиране, S3 връзките използват по подразбиране HTTPS, а новите и ротираните файлове ErrorLog.txt и AuditLog.txt се създават с права за достъп 0640 вместо 0666.
- Привилегии: xdmp:eval-in() вече изисква както привилегията xdmp-eval-in, така и xdmp-eval. Четенето на хедъри Authorization изисква нова привилегия, с която нито една вградена роля не разполага. Прикачването на гори (forest), архивирането и възстановяването се проверяват спрямо всяка гора и база данни, до които се докосват.
- Съхранени тайни: Отговорите при конфигуриране на FlexRep вече не връщат съхранени пароли, частни клиентски ключове или паролни фрази.
- Платформа: MarkLogic 11.3.7 не поддържа Amazon Linux 2.
- Конфликти в имената: Надграждането може да се провали, ако клъстерът вече има роля, потребител или привилегия с едно от петте имена, използвани от нова тикет система. Имената са посочени в бележките към надграждането.
- Промени без свързан CVE: И двете версии ограничават разширяването на XML обекти (XML entity expansion) и премахват слабите TLS шифри от настройките по подразбиране. При 12.1.0 Optic заявките за фрагменти връщат само документни фрагменти по подразбиране.
Относно корекцията за CVE-2026-85954, в бележките се предупреждава: „В резултат на това може вече да нямате привилегии, до които преди сте имали достъп, тъй като този достъп е бил неправилен.“
Някои проблеми остават и след надграждането. Съществуващите файлове ErrorLog.txt и AuditLog.txt запазват старите си права за достъп, докато не бъдат ротирани или създадени наново. Корекцията за Kerberos изисква keytab файл, а без такъв сървърът записва предупреждение в лога и пропуска новата проверка.
Друг дефект, CVE-2026-85959, е водел до това, че успешните вписвания невинаги са били записвани в одитния лог. Progress посочва, че това би могло да ограничи способността на клиента да открива и разследва неоторизиран достъп или злоупотреба с идентификационни данни.
Записите за CVE и бележките за надграждане не уточняват дали актуализацията премахва администраторски акаунт, създаден чрез CVE-2026-85947 преди надграждането.
Втора партида от август насам
Тези 31 дефекта са втората партида, която Progress разкрива за MarkLogic в рамките на 68 дни. На 5 август компанията публикува 10, седем от които бяха оценени като критични. Един от тях, CVE-2026-9192, беше оценен с 9.8 и позволява на неавтентикиран отдалечен атакуващ да заобиколи проверката на паролата на ODBC App Server, според записа за CVE.
И в двата случая корекциите бяха предоставени първи. Августовските уязвимости бяха отстранени във версии с дати 1 юли и 6 юли – 35 и 30 дни преди да се появят записите им за CVE. Този път разликата беше 32 дни.
Търсене от The Hacker News в Националната база данни за уязвимости на САЩ (NVD) на 13 октомври показа 49 записа за CVE, които споменават MarkLogic, 41 от които са от тези две партиди. Останалите осем от 2017 и 2018 г. са за Antenna House DMC HTMLFilter – външен компонент, използван от MarkLogic 8.0-6. По-ранните версии на MarkLogic също съдържаха корекции за сигурност: бележките към версиите за 11.3.1, 11.3.2 и 11.3.4 споменават „корекции за уязвимости в сигурността“ и не посочват CVE в собствения код на сървъра.