Skip to content

NeuVector admin account has insecure default password

Critical severity GitHub Reviewed Published Aug 26, 2025 in neuvector/neuvector • Updated Aug 28, 2025

Package

gomod github.com/neuvector/neuvector (Go)

Affected versions

>= 5.0.0, < 5.4.6

Patched versions

5.4.6

Description

Impact

A vulnerability exists in NeuVector versions up to and including 5.4.5, where a fixed string is used as the default password for the built-in admin account. If this password is not changed immediately after deployment, any workload with network access within the cluster could use the default credentials to obtain an authentication token. This token can then be used to perform any operation via NeuVector APIs.

In earlier versions, NeuVector supports setting the default (bootstrap) password for the admin account using a Kubernetes Secret named neuvector-bootstrap-secret. This Secret must contain a key named bootstrapPassword. However, if NeuVector fails to retrieve this value, it falls back to the fixed default password.

Patches

This issue is resolved in NeuVector version 5.4.6 and later. For rolling upgrades, it's strongly recommended to change the default admin password to a secure one.

Starting from version 5.4.6, NeuVector introduces additional Kubernetes RBAC permissions to ensure the bootstrap password can be securely managed via Secrets:

kubectl create role neuvector-binding-secret-controller \
  --verb=create,patch,update --resource=secrets -n {neuvector}

kubectl create rolebinding neuvector-binding-secret-controller \
  --role=neuvector-binding-secret-controller \
  --serviceaccount=neuvector:controller \
  --serviceaccount=neuvector:default -n {neuvector}
  • These RBAC roles are automatically applied when deploying via Helm.
  • If deploying or upgrading manually, you must create these roles before starting NeuVector.

NOTE: If these roles are not present, the NeuVector controller (from version 5.4.6 onward) does not start.

Behavior in Patched Versions

  • Upgrades: NeuVector does not reset any existing account passwords. It's strongly recommended to change the default admin password to a secure one.
  • New deployments:
    • If bootstrapPassword is not set in the `neuvector-bootstrap-secret, NeuVector generates a secure password and stores it in the same Secret.

On first login, the default admin must retrieve the password using:

kubectl get secret -n {neuvector} neuvector-bootstrap-secret \
  -o go-template='{{ .data.bootstrapPassword | base64decode }}{{ "\n" }}'

The password must be changed during the first login via the NeuVector UI.

NOTE: If the default admin password is set using a Kubernetes ConfigMap or a persistent backup (not a fixed string), this value takes precedence over the Secret-based mechanism.

Workarounds

For existing vulnerable versions, log in to the NeuVector UI immediately after deployment and update the default admin password.

References

If you have any questions or comments about this advisory:

References

@BinX-Suse BinX-Suse published to neuvector/neuvector Aug 26, 2025
Published to the GitHub Advisory Database Aug 28, 2025
Reviewed Aug 28, 2025
Last updated Aug 28, 2025

Severity

Critical

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

EPSS score

Weaknesses

Use of Default Password

The product uses default passwords for potentially critical functionality. Learn more on MITRE.

CVE ID

CVE-2025-8077

GHSA ID

GHSA-8pxw-9c75-6w56

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.