CVE-2025-26787

4.7 MEDIUM

📋 TL;DR

A logic error in Keyfactor SignServer container startup resets certificate access controls to 'allowany' on every restart instead of only initial setup. This allows any user with a valid trusted client certificate to connect, bypassing admin-configured restrictions. Affects SignServer versions before 7.2 running in containerized deployments.

💻 Affected Systems

Products:
  • Keyfactor SignServer
Versions: All versions prior to 7.2
Operating Systems: All container platforms (Docker, Kubernetes, etc.)
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects containerized deployments where the Admin CLI command runs on startup. Traditional installations are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Unauthorized users with any valid client certificate gain administrative access to SignServer, potentially signing malicious certificates or accessing sensitive signing operations.

🟠

Likely Case

Temporary privilege escalation where users with valid certificates gain unintended access until next admin reconfiguration, potentially accessing signing functions they shouldn't.

🟢

If Mitigated

Minimal impact if proper network segmentation and certificate management controls prevent unauthorized certificate holders from accessing the system.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires a valid client certificate, but any trusted certificate works. No special tools or techniques needed beyond normal certificate authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 7.2

Vendor Advisory: https://support.keyfactor.com/hc/en-us/articles/33997706776987-SignServer-security-advisory-Container-vulnerability-CVE-2025-26787-fixed-in-version-7-2

Restart Required: Yes

Instructions:

1. Upgrade SignServer to version 7.2 or later. 2. Update container images to use patched version. 3. Restart all SignServer containers. 4. Verify certificate access controls remain after restart.

🔧 Temporary Workarounds

Manual certificate restriction after each restart

all

Manually reconfigure certificate restrictions using Admin CLI after every container restart

signserver setproperty GLOBAL allowany false
signserver setproperty GLOBAL allowedcertificates "CERT1,CERT2"

Disable container auto-restart

linux

Prevent automatic container restarts that trigger the vulnerability

docker update --restart=no signserver-container

🧯 If You Can't Patch

  • Implement strict network access controls to limit who can reach SignServer containers
  • Enforce certificate revocation checking and maintain tight certificate lifecycle management

🔍 How to Verify

Check if Vulnerable:

Check if container restarts reset certificate access to 'allowany' by testing with different client certificates after restart

Check Version:

signserver --version | grep 'SignServer'

Verify Fix Applied:

After patching, restart container and verify certificate restrictions persist using Admin CLI: 'signserver getproperty GLOBAL allowany' should return false

📡 Detection & Monitoring

Log Indicators:

  • Multiple 'allowany' property resets in startup logs
  • Authentication attempts from unexpected certificate subjects after container restart

Network Indicators:

  • Increased authentication attempts from diverse certificate sources following container restarts

SIEM Query:

source="signserver" AND "allowany" AND "true" AND "startup"

🔗 References

📤 Share & Export