Summary
CVE-2026-12281 is a high-severity authentication bypass vulnerability in the Shibboleth WordPress plugin affecting all versions before 2.5.4. The flaw causes the plugin to fail open when its HTTP header identity mode is active without an anti-spoofing key configured, accepting any request that supplies identity headers as a fully authenticated session — without verifying those headers. Under specific but realistic configurations used in higher-education and federated-identity environments, an unauthenticated remote attacker can forge those headers, trigger automatic account creation, and be granted full WordPress administrator access. The CVSS v3.1 base score is 8.1 (HIGH).
Technical details
- Root cause: The plugin does not enforce a spoof key when operating in HTTP header attribute access mode. Without this key, it cannot distinguish between headers set by a legitimate Shibboleth Service Provider and headers injected by a remote client, accepting all identity-bearing requests as authenticated (CWE-287: Improper Authentication).
- Trigger conditions: Exploitation requires four conditions to be simultaneously active: (1) the HTTP header attribute access mode is selected (non-default; default is environment-variable SP mode); (2) the
SHIBBOLETH_SPOOF_KEYis empty or absent; (3) automatic account creation (SHIBBOLETH_CREATE_ACCOUNTS) is enabled; (4) the deployment’s upstream server or reverse proxy does not strip untrusted client-supplied HTTP headers before they reach WordPress. - Attack vector: An unauthenticated remote attacker sends crafted HTTP requests directly to the WordPress application over the network, with forged Shibboleth identity headers specifying an arbitrary username and, if role mapping headers are also spoofed, an administrator role.
- Impact: The plugin treats the forged request as a valid Shibboleth SSO callback. A new WordPress account is provisioned for the attacker. When the default administrator role mapping is active, that account receives full administrator privileges — resulting in complete site compromise, with confidentiality, integrity, and availability all rated High.
Affected software
- Shibboleth WordPress plugin — all versions before 2.5.4
Severity
- CVSS v3.1 Base Score: 8.1 (HIGH)
- Vector String:
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Mitigation and recommended actions
- Immediate — update to the patched release: Upgrade the Shibboleth WordPress plugin to version 2.5.4 (released June 22, 2026). This release resolves the vulnerability by always requiring a Spoof Key to be configured when the HTTP header attribute access mode is in use.
- If immediate patching is not possible:
- Switch the plugin’s attribute access method back to the default "Environment Variables" (standard SP) mode, which is not affected by this issue.
- Configure the upstream server or reverse proxy to strip all untrusted client-supplied HTTP headers (e.g., any headers matching Shibboleth attribute names) before they reach WordPress.
- If the HTTP header mode must remain active, define a strong, unique
SHIBBOLETH_SPOOF_KEYconstant inwp-config.phpimmediately — the spoof key is the plugin’s primary defence against header injection in this mode.
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

