This advisory was corrected and extended:
- Not all containers were rebuilt for BlueSpice 5.1.11.2 and 5.2.7.2 on 2026-10-30. The rebuilt images of
wire,formula,pdf,diagram,frontendcacheandkerberosproxywere published on 2026-11-04.collabpads,proxyanddatabasehave not been rebuilt yet. Their risk stays low. See "Fixed in" and "Solution". - New section on Ghostscript (container
bluespice/wiki, all editions): Ghostscript contains its own copy of the Brotli library. According to our analysis, this copy already contains the fix. Security scanners may still report it. As a precaution, we recommend disabling the extension PdfHandler. Risk: low. See below. - CVE-2026-115557: the container
bluespice/aiis now also fixed in BlueSpice 5.2.7.2 (published on 2026-11-06), earlier than announced (5.2.8). After the update, the AI service no longer needs to be disabled.
| Date | 2026-10-29 (updated 2026-11-06) |
| Severity | reported "critical" (CVSS 3.1: 9.8), BlueSpice assessment: critical (container bluespice/wiki in BlueSpice pro and farm, publicly readable wikis), high (same, wikis that require a login), medium (container bluespice/chat), low (all other containers, and Ghostscript in container bluespice/wiki in all editions) CVE-2026-115557: reported "critical" (CVSS 4.0: 9.4), BlueSpice assessment: medium (containers |
| Affected |
|
| Fixed in |
|
| CVE |
Problem
CVE-2026-111497: A vulnerability in the Brotli decompression library (publicly known as "Node2Shell") allows an attacker to write beyond a memory buffer by sending specially crafted compressed data. This can crash the program, reveal memory contents and allow the attacker to run code. The library is used by Node.js and by many Linux programs, e.g. the curl library that PHP uses for outgoing HTTP requests. Public exploit code exists for Node.js applications and for PHP applications that download data from web addresses. The US authority CISA lists the vulnerability as actively exploited.
CVE-2026-115557: The private keys of several intermediate certificates of the certificate authority eMudhra were generated incorrectly and are publicly known. Anyone can create certificates for any website with them. Browsers already block these certificates, but many programs that check certificates only against a list of trusted root certificates still accept them. Python and Node.js, which the AI service and the chat service use, were updated to block them. Older Python versions are safe if their list of trusted root certificates is up to date.
| CVE | Component | Type of vulnerability | BlueSpice 5 |
|---|---|---|---|
| CVE-2026-111497 | Brotli library (container bluespice/wiki in BlueSpice pro and farm)
|
Out-of-bounds write when decompressing data, remote code execution | affected |
| CVE-2026-111497 | Node.js (container bluespice/chat)
|
Out-of-bounds write when decompressing data, possibly remote code execution | affected, if MS Teams integration is used |
| CVE-2026-111497 | Brotli library / Node.js (other containers) | Out-of-bounds write when decompressing data | not exploitable |
| CVE-2026-111497 | Ghostscript (container bluespice/wiki, all editions)
|
Out-of-bounds write when decompressing data | most likely fixed, precaution recommended |
| CVE-2026-115557 | Python (container bluespice/ai)
|
Forged server certificates are accepted for outgoing connections | affected, if the AI service is used |
| CVE-2026-115557 (same issue in Node.js) | Node.js (container bluespice/chat)
|
Forged server certificates are accepted for outgoing connections | affected, if the chat service is used |
| CVE-2026-115557 | Python / Node.js / Java (other containers) | Forged server certificates are accepted for outgoing connections | not affected |
Impact assessment
| Component | Assessment | Mitigation without update |
|---|---|---|
Container bluespice/wiki (BlueSpice pro and farm)
|
Critical on publicly readable wikis, high on wikis that require a login. The extensions ExternalData (BlueSpice 5.1 and 5.2) and ExternalContent (BlueSpice 5.2) let users load data from any web address into a page. The wiki decompresses this data with the affected library. An attacker who controls a web server can use this to run commands in the wiki container. Public exploit code shows this for a comparable PHP application.
Unlike the PHP vulnerabilities in BSSA-2026-08, network access to the wiki is not enough. The attacker needs read access to the wiki itself. On wikis that require a login, only logged-in users can exploit the vulnerability. The main risk is on publicly readable wikis, where no login is needed. Such wikis are rare among BlueSpice installations. In addition, the wiki must be able to connect to the attacker's server on the internet. |
Disable the extensions ExternalData and ExternalContent (see below). |
Container bluespice/chat
|
Medium. The chat service is not part of standard installations. Its MS Teams connector decompresses incoming requests before it checks whether they come from Microsoft. This connector is not reachable from outside in the default configuration of bluespice-deploy. If you have made it reachable for MS Teams, the risk is high: an attacker without login could possibly run code in the chat container.
|
Do not expose the MS Teams connector, or reject requests with the header Content-Encoding: br in the reverse proxy in front of it.
|
All other containers, including bluespice/wiki in BlueSpice free
|
Low. These services contain the affected library, but do not decompress data that users can control. Other features of the wiki that download data (e.g. RSS feeds, PageForms, EmbedVideo, Semantic MediaWiki, search) only use addresses set by administrators or internal services. An attack through them is very unlikely, as it would require a compromised service or a rarely used configuration. The same applies to the third-party image mongo:8.2, which bluespice-deploy uses for the database of the collabpads service.
|
None required. Update with the next maintenance. |
Ghostscript in container bluespice/wiki (all editions)
|
Low. The wiki uses Ghostscript to create preview images of uploaded PDF files. Ghostscript contains its own copy of the Brotli library. According to our analysis of the source code, this copy already contains the fix, but it still reports the old version number. Security scanners may therefore report it as affected. We could not fully verify the compiled program and know of no exploit code for Ghostscript. An attack would require a user who is allowed to upload files. Usually only logged-in users with edit rights can do this, also on publicly readable wikis. | As a precaution, disable the extension PdfHandler (see below). |
Container bluespice/ai (CVE-2026-115557)
|
Medium. The AI service is not part of standard installations. It sends questions, wiki content and the API key of the AI provider (e.g. Azure OpenAI, OpenAI, Google, IONOS) over encrypted connections. It still accepts the forged certificates. An attacker who can intercept and redirect the network traffic between your server and the AI provider can read the API key and the wiki content and change the answers. Access to the wiki is not required. However, the attacker must control the network path, e.g. a router, DNS or proxy server between your server and the AI provider. This makes an attack difficult. We do not know of any attacks. | Update to BlueSpice 5.2.7.2. If you cannot update, disable the AI service: set AI=false in the .env file and run ./bluespice-deploy up -d --remove-orphans. The AI features of the wiki and the chat are not available until then.
|
Container bluespice/chat (CVE-2026-115557, same issue in Node.js)
|
Medium. Same issue as for the AI service. The chat service accepts the forged certificates on its connections to MS Teams or Slack. An attacker who controls the network path can read and change chat messages and read the access credentials of the connector. | None. Update to BlueSpice 5.2.7.2, or disable the chat service. |
| All other containers (CVE-2026-115557) | Not affected. bluespice/wiki and bluespice/search contain Python, but either already reject the forged certificates or make no outgoing connections. The same applies to Node.js and Java in the other containers.
|
None required. |
Solution
Update to BlueSpice 5.2.7.2 or BlueSpice 5.1.11.2. As with BSSA-2026-08, these are nano releases without functional changes. We recommend the update for bluespice/wiki in all editions (free, pro and farm). The containers listed under "Fixed in" were rebuilt with the fixed Brotli library (brotli-libs 1.2.1) and fixed Node.js versions. For these containers, the image tags 5, 5.2 and 5.1 point to the fixed images. collabpads, proxy and database will follow (risk: low). If you have already updated to 5.2.7.2 or 5.1.11.2 before 2026-11-04, run the update commands again to get the rebuilt service containers.
In the .env file of bluespice-deploy, set VERSION to 5.2 or 5.1. Then run these commands in the compose directory of bluespice-deploy: ./bluespice-deploy pull && ./bluespice-deploy up -d. Use the bluespice-deploy script instead of plain docker compose, because only the script loads all required docker-compose.*.yml files.
To check whether your installation is fixed, run:
./bluespice-deploy exec wiki-web apk info -v brotli-libsand./bluespice-deploy exec wiki-task apk info -v brotli-libs: must showbrotli-libs-1.2.1-r0or higher./bluespice-deploy exec chat node -v(BlueSpice 5.2, only if the chat service is used): must showv24.22.1or higher./bluespice-deploy exec ai python3 -V(BlueSpice 5.2, only if the AI service is used): must showPython 3.12.16or higher
The fixed image of bluespice/ai was published on 2026-11-06. If you have already updated to 5.2.7.2 before that date and use the AI service, run the update commands again. If you disabled the AI service because of this advisory, you can enable it again after the update (AI=true in the .env file, then ./bluespice-deploy up -d).
Mitigation without update: disable ExternalData and ExternalContent (BlueSpice pro and farm)
Use the same method as in BSSA-2026-06: mount a copy of the settings file in which the extensions are not loaded. In BlueSpice 5.1, the command only finds ExternalData, as ExternalContent is not part of 5.1.
./bluespice-deploy cp wiki-web:/app/bluespice/w/settings.d/040-BlueSpiceProDistribution.php ./
sed -i -E "s/^(wfLoadExtension\( 'External(Data|Content)' \);)/#\1/" 040-BlueSpiceProDistribution.php
Add the file to docker-compose.override.yml:
services:
wiki-web:
volumes:
- ./040-BlueSpiceProDistribution.php:/app/bluespice/w/settings.d/040-BlueSpiceProDistribution.php:ro
# same for wiki-task and wiki-installer
Then re-create the containers with ./bluespice-deploy up -d. The copied file belongs to the current version.
While the extensions are disabled, pages that use them show the parser functions as plain text or no data. No content is lost.
Precaution: disable PdfHandler (all editions)
The extension PdfHandler creates preview images of uploaded PDF files with Ghostscript. Ghostscript contains its own copy of the Brotli library and does not use the system library brotli-libs. The update to 5.2.7.2 or 5.1.11.2 therefore does not change it. According to our analysis, this copy already contains the fix (see "Impact assessment"). Because we cannot fully verify this, we recommend disabling PdfHandler as a precaution until an updated Ghostscript is available.
Use the same method as above with the file 030-BlueSpiceFreeDistribution.php:
./bluespice-deploy cp wiki-web:/app/bluespice/w/settings.d/030-BlueSpiceFreeDistribution.php ./
sed -i -E "s/^(wfLoadExtension\( 'PdfHandler' \);)/#\1/" 030-BlueSpiceFreeDistribution.php
grep -n "PdfHandler" 030-BlueSpiceFreeDistribution.php
The last command must show #wfLoadExtension( 'PdfHandler' );. Add the file to docker-compose.override.yml:
services:
wiki-web:
volumes:
- ./030-BlueSpiceFreeDistribution.php:/app/bluespice/w/settings.d/030-BlueSpiceFreeDistribution.php:ro
# same for wiki-task and wiki-installer
If you also disable ExternalData and ExternalContent, add both files to the volumes list. Then re-create the containers with ./bluespice-deploy up -d. The copied file belongs to the current version. We will announce here when an updated Ghostscript is available.
While PdfHandler is disabled, PDF files can still be uploaded and downloaded. The wiki does not create new preview images for them and shows a file icon instead. No content is lost.
Was my installation compromised?
We do not know of any attacks on BlueSpice installations. The vulnerability has been public since 2026-10-21. Public exploit code for a comparable PHP application exists since 2026-10-28.
Installing the update or disabling the extensions stops further exploitation. It does not remove anything an attacker may have left behind. If your wiki uses BlueSpice pro or farm and could connect to servers on the internet, check:
- Pages, templates and modules with
{{#get_web_data}},{{#get_external_data}}or{{#embed}}that point to servers you do not know, and modules that usemw.ext.externalData. - The access log of the reverse proxy for requests to
api.phporindex.phpwith these functions. They can also be used without saving a page, e.g. in a preview. See the notes on log analysis in BSSA-2026-06. - The logs of
wiki-webandwiki-taskfor processes that ended with a segmentation fault (e.g.exited on signal 11), and, if available, your firewall logs for connections from the wiki to unknown servers.
If you find signs of an attack, follow the procedure in BSSA-2026-08 (section "Was my installation compromised?") and contact the Hallo Welt! GmbH support.
BlueSpice cloud
BlueSpice cloud uses the same containers and will be updated by Hallo Welt! GmbH, including the AI service. No action is required from cloud customers.