Summary
NullHub contains a missing authentication vulnerability in its management API, where an unassigned authentication token can leave /api/* endpoints accessible without credentials.
On non-loopback listeners, an unauthenticated attacker may control agent instances, modify configurations and provider credentials, and manage cron jobs or MCP servers when requests meet the vulnerable header and deployment conditions.
NullHub contains a missing authentication vulnerability in its management API, where an unassigned authentication token can leave /api/* endpoints accessible without credentials.
On non-loopback listeners, an unauthenticated attacker may control agent instances, modify configurations and provider credentials, and manage cron jobs or MCP servers when requests meet the vulnerable header and deployment conditions.
Affected context
The issue occurs in NullHub deployments that expose the management API through a non-loopback listener while the authentication token remains unset. Requests lacking both an Authorization header and an Origin header may reach management operations without an effective authentication decision. The resulting exposure depends on network accessibility, listener configuration, and the privileges assigned to the affected service.
The issue occurs in NullHub deployments that expose the management API through a non-loopback listener while the authentication token remains unset. Requests lacking both an Authorization header and an Origin header may reach management operations without an effective authentication decision. The resulting exposure depends on network accessibility, listener configuration, and the privileges assigned to the affected service.
Exploit preconditions
- Attack surface: The
/api/*management API - Required access: Network reachability to a non-loopback NullHub listener; valid credentials may not be required under the affected configuration
- Trigger point: A management API request submitted without the expected authentication and origin headers
- Why exploitation is possible: The
auth_tokenfield defaults tonulland is never assigned, allowing authentication enforcement to be bypassed for exposed management endpoints
- Attack surface: The
/api/*management API - Required access: Network reachability to a non-loopback NullHub listener; valid credentials may not be required under the affected configuration
- Trigger point: A management API request submitted without the expected authentication and origin headers
- Why exploitation is possible: The
auth_tokenfield defaults tonulland is never assigned, allowing authentication enforcement to be bypassed for exposed management endpoints
Why this happens
The vulnerability results from an authentication control that is not initialized with a valid secret or enforced as mandatory. When the auth_token value remains null, request handling may treat the absence of credentials as acceptable rather than rejecting the request.
This behavior maps to CWE-306: Missing Authentication for Critical Function, because sensitive administrative operations can be reached without verifying the identity of the caller. The insecure pattern is relying on an optional or uninitialized authentication value for authorization decisions.
The vulnerability results from an authentication control that is not initialized with a valid secret or enforced as mandatory. When the auth_token value remains null, request handling may treat the absence of credentials as acceptable rather than rejecting the request.
This behavior maps to CWE-306: Missing Authentication for Critical Function, because sensitive administrative operations can be reached without verifying the identity of the caller. The insecure pattern is relying on an optional or uninitialized authentication value for authorization decisions.
Potential impact
- An attacker may control agent instances
- An attacker could rewrite application configuration
- Provider credentials may be exposed, replaced, or misused
- Cron jobs may be created, modified, or removed
- MCP servers may be administered without authorization
- The service may be used to affect connected systems or downstream data
- An attacker may control agent instances
- An attacker could rewrite application configuration
- Provider credentials may be exposed, replaced, or misused
- Cron jobs may be created, modified, or removed
- MCP servers may be administered without authorization
- The service may be used to affect connected systems or downstream data
General mitigation guidance
Mitigation generally focuses on making authentication mandatory for every management operation and ensuring secure defaults when credentials are absent.
Common defensive patterns include:
- Rejecting management requests whenever a valid authentication configuration is missing
- Requiring strong, non-null credentials before binding administrative APIs
- Applying authentication and authorization consistently across all
/api/*routes - Separating administrative interfaces from untrusted networks and using network access controls
- Limiting service permissions and isolating agent, credential, cron, and MCP management capabilities
- Avoiding credential storage in broadly writable configuration files and reducing the trust placed in client-controlled headers
- Logging and reviewing denied, administrative, and configuration-changing requests
Mitigation generally focuses on making authentication mandatory for every management operation and ensuring secure defaults when credentials are absent.
Common defensive patterns include:
- Rejecting management requests whenever a valid authentication configuration is missing
- Requiring strong, non-null credentials before binding administrative APIs
- Applying authentication and authorization consistently across all
/api/*routes - Separating administrative interfaces from untrusted networks and using network access controls
- Limiting service permissions and isolating agent, credential, cron, and MCP management capabilities
- Avoiding credential storage in broadly writable configuration files and reducing the trust placed in client-controlled headers
- Logging and reviewing denied, administrative, and configuration-changing requests
How teams detect issues like this
Organizations can look for:
- Static analysis patterns where authentication tokens or secrets default to
null, empty values, or disabled states - Code paths that permit administrative actions when authentication headers are absent
- Route reviews confirming that every management endpoint invokes authentication and authorization checks
- Configuration policies preventing non-loopback exposure of administrative listeners without enforced access controls
- Runtime monitoring for unauthenticated requests to
/api/*, configuration rewrites, cron changes, and MCP server administration - Automated security tests that exercise management endpoints with missing, malformed, and invalid credentials
Neutral automated code review and API security tools may help identify inconsistent authentication enforcement.
Organizations can look for:
- Static analysis patterns where authentication tokens or secrets default to
null, empty values, or disabled states - Code paths that permit administrative actions when authentication headers are absent
- Route reviews confirming that every management endpoint invokes authentication and authorization checks
- Configuration policies preventing non-loopback exposure of administrative listeners without enforced access controls
- Runtime monitoring for unauthenticated requests to
/api/*, configuration rewrites, cron changes, and MCP server administration - Automated security tests that exercise management endpoints with missing, malformed, and invalid credentials
Neutral automated code review and API security tools may help identify inconsistent authentication enforcement.

