/

CVE-2026-25784

Severity:

CRITICAL RISK

(9.8)

Insecure Default (CWE-1188) in BlueSpice Container

CVE-2026-25784

Deferred

Vulnerability type

Category:

Insecure Default Configuration

CWE:

CWE-269, CWE-1188

Impact:

Privilege Escalation

Severity:

CRITICAL RISK

(9.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

A critically insecure default in BlueSpice can disable an IP restriction intended to limit service-token authentication to the container network. When the relevant environment variable is absent, users with read access to the wiki may obtain an application token and use it to establish a session with sysop privileges.

A critically insecure default in BlueSpice can disable an IP restriction intended to limit service-token authentication to the container network. When the relevant environment variable is absent, users with read access to the wiki may obtain an application token and use it to establish a session with sysop privileges.

Affected context

The issue occurs in BlueSpice container deployments where the

WIKI_SERVICE_TOKEN_AUTH_ALLOWED environment variable is not set and the

resulting value for $mwsgTokenAuthenticatorServiceCIDR is empty. An empty

restriction disables the expected network-based control in the token

authenticator component. Publicly readable wikis may therefore expose the

attack path to anonymous users, while restricted wikis limit it to users with

read access.

The issue occurs in BlueSpice container deployments where the

WIKI_SERVICE_TOKEN_AUTH_ALLOWED environment variable is not set and the

resulting value for $mwsgTokenAuthenticatorServiceCIDR is empty. An empty

restriction disables the expected network-based control in the token

authenticator component. Publicly readable wikis may therefore expose the

attack path to anonymous users, while restricted wikis limit it to users with

read access.

Exploit preconditions

  • Attack surface: The wiki REST API and token authentication component
  • Required access: Read access to the wiki; this may include anonymous access on publicly readable deployments
  • Trigger point: Application-token issuance followed by session authentication
  • Configuration condition: WIKI_SERVICE_TOKEN_AUTH_ALLOWED is unset or produces an empty service CIDR value
  • Why exploitation is possible: The empty default disables the intended source-network restriction, allowing token-based authentication from outside the container network
  • Attack surface: The wiki REST API and token authentication component
  • Required access: Read access to the wiki; this may include anonymous access on publicly readable deployments
  • Trigger point: Application-token issuance followed by session authentication
  • Configuration condition: WIKI_SERVICE_TOKEN_AUTH_ALLOWED is unset or produces an empty service CIDR value
  • Why exploitation is possible: The empty default disables the intended source-network restriction, allowing token-based authentication from outside the container network

Why this happens

The deployment uses an insecure default for a security-sensitive network

restriction. When the expected environment variable is missing, the

configuration resolves to an empty string, and the authenticator interprets

that value as disabling the IP allowlist rather than rejecting the

incomplete configuration. This maps to CWE-1188: Initialization of Resource with an Insecure Default. The resulting authentication path can

also enable CWE-269: Improper Privilege Management because a lower-privileged

user can obtain a session associated with an internal service account that

has sysop-level permissions.

The deployment uses an insecure default for a security-sensitive network

restriction. When the expected environment variable is missing, the

configuration resolves to an empty string, and the authenticator interprets

that value as disabling the IP allowlist rather than rejecting the

incomplete configuration. This maps to CWE-1188: Initialization of Resource with an Insecure Default. The resulting authentication path can

also enable CWE-269: Improper Privilege Management because a lower-privileged

user can obtain a session associated with an internal service account that

has sysop-level permissions.

Potential impact

  • An attacker may obtain an application token through the REST API
  • An attacker could establish a session with sysop privileges
  • Wiki content, configuration, or administrative settings may be modified
  • User accounts and access controls could be altered
  • The deployment may experience data integrity loss or administrative takeover
  • An attacker may obtain an application token through the REST API
  • An attacker could establish a session with sysop privileges
  • Wiki content, configuration, or administrative settings may be modified
  • User accounts and access controls could be altered
  • The deployment may experience data integrity loss or administrative takeover

General mitigation guidance

Mitigation generally focuses on making security-sensitive configuration

fail closed rather than relying on permissive or empty defaults.

Common defensive patterns include:

  • Require an explicitly configured, validated service-network allowlist
  • Reject startup when authentication restrictions are missing, empty, or malformed
  • Treat empty security-related values as configuration errors rather than as "allow all"
  • Restrict application-token issuance and service-account session creation to trusted network paths
  • Apply least privilege to internal service accounts and avoid unnecessary sysop permissions
  • Limit anonymous read access where it is not required
  • Protect environment variables and container configuration from unauthorized modification

Mitigation generally focuses on making security-sensitive configuration

fail closed rather than relying on permissive or empty defaults.

Common defensive patterns include:

  • Require an explicitly configured, validated service-network allowlist
  • Reject startup when authentication restrictions are missing, empty, or malformed
  • Treat empty security-related values as configuration errors rather than as "allow all"
  • Restrict application-token issuance and service-account session creation to trusted network paths
  • Apply least privilege to internal service accounts and avoid unnecessary sysop permissions
  • Limit anonymous read access where it is not required
  • Protect environment variables and container configuration from unauthorized modification

How teams detect issues like this

Organizations can detect this class of issue through:

  • Configuration reviews that identify empty or unset values for authentication allowlists
  • Static and deployment analysis for security-sensitive defaults that interpret empty values permissively
  • Integration tests verifying that token requests from outside the trusted service network are rejected
  • Code review checks for service-account authentication paths that grant elevated roles
  • Policy enforcement requiring explicit values for network restrictions and privileged identities
  • Monitoring for unexpected application-token issuance or sysop sessions originating outside trusted networks

Organizations can detect this class of issue through:

  • Configuration reviews that identify empty or unset values for authentication allowlists
  • Static and deployment analysis for security-sensitive defaults that interpret empty values permissively
  • Integration tests verifying that token requests from outside the trusted service network are rejected
  • Code review checks for service-account authentication paths that grant elevated roles
  • Policy enforcement requiring explicit values for network restrictions and privileged identities
  • Monitoring for unexpected application-token issuance or sysop sessions originating outside trusted networks

Sources

SourceLink
en.wiki.bluespice.comen.wiki.bluespice.com/wiki/Security:Security_Advisories/BSSA-2026-07
github.comgithub.com/hallowelt/docker-bluespice-wiki/commit/04b840be565b508f6e741c376970909b69d2a444

Frequently asked

questions

Any user with read access may be able to reach the attack path. On a publicly

readable wiki, that can include unauthenticated users.

No direct container or host access is necessarily required. The relevant

condition is exposure of the wiki REST API together with an unset or empty

service-authentication network restriction.

Configure the service-network restriction explicitly and make the application

reject missing or empty security-sensitive values. The authentication path

should fail closed and service accounts should have only the permissions they

require.

Test secure defaults in deployment configurations, validate environment

variables at startup, monitor privileged session creation, and enforce

least-privilege policies for internal service identities.

Any user with read access may be able to reach the attack path. On a publicly

readable wiki, that can include unauthenticated users.

No direct container or host access is necessarily required. The relevant

condition is exposure of the wiki REST API together with an unset or empty

service-authentication network restriction.

Configure the service-network restriction explicitly and make the application

reject missing or empty security-sensitive values. The authentication path

should fail closed and service accounts should have only the permissions they

require.

Test secure defaults in deployment configurations, validate environment

variables at startup, monitor privileged session creation, and enforce

least-privilege policies for internal service identities.

Find out what's already
exploitable in your codebase.