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.
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}
NOTE: If these roles are not present, the NeuVector controller (from version 5.4.6 onward) does not start.
admin
password to a secure one.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.
For existing vulnerable versions, log in to the NeuVector UI immediately after deployment and update the default admin
password.
If you have any questions or comments about this advisory:
{ "severity": "CRITICAL", "github_reviewed_at": "2025-08-28T13:33:36Z", "nvd_published_at": null, "cwe_ids": [ "CWE-1393" ], "github_reviewed": true }