Skip to main content
Vulnerability Database/CVE-2026-86175

CVE-2026-86175: NetBox Information Disclosure Vulnerability

CVE-2026-86175 is an information disclosure flaw in NetBox that exposes sensitive data source credentials through API responses. Authenticated users can retrieve plaintext passwords for Git and S3 backends. This post explains its impact, affected versions, and mitigation steps.

Published:

CVE-2026-86175 Overview

NetBox through version 4.7.0 exposes plaintext data source backend credentials through its REST and GraphQL APIs. Authenticated users holding only view permissions can retrieve Git passwords and Amazon S3 secret keys assigned to configured data sources. The flaw stems from missing redaction logic in the API serializers and GraphQL type definitions that handle data source objects. Attackers who obtain these credentials gain unauthorized access to external code repositories and cloud storage buckets referenced by NetBox. This issue represents an incomplete fix of the earlier NetBox Issue #12625 and is tracked as a Credentials Management vulnerability [CWE-522].

Critical Impact

Low-privilege authenticated NetBox users can extract plaintext Git and S3 credentials, enabling lateral movement into source code repositories and cloud object storage.

Affected Products

  • NetBox versions up to and including 4.7.0
  • NetBox deployments configured with Git data source backends
  • NetBox deployments configured with Amazon S3 data source backends

Discovery Timeline

  • 2026-09-05 - CVE-2026-86175 published to NVD
  • 2026-09-08 - Last updated in NVD database

Technical Details for CVE-2026-86175

Vulnerability Analysis

NetBox supports remote data sources that synchronize content from Git repositories and Amazon S3 buckets. Each data source stores authentication material such as HTTP Basic passwords for Git or AWS secret access keys for S3. These secrets are persisted in the database and expected to remain server-side.

The REST API serializer defined in netbox/core/api/serializers_/data.py and the GraphQL type in netbox/core/graphql/types.py return the full parameters field of a data source object without stripping sensitive keys. Any authenticated principal with core.view_datasource permission can read the response and recover plaintext credentials.

The issue is a regression scope expansion of NetBox Issue #12625, which addressed similar exposure in the web UI but did not extend the redaction to programmatic API surfaces.

Root Cause

The root cause is missing output filtering on the parameters attribute of data source models. The backend implementation in netbox/core/data_backends.py marks certain parameters as sensitive, but the REST and GraphQL layers do not honor those markings. The serializers pass the raw dictionary to the response payload, disclosing password and aws_secret_access_key values in cleartext.

Attack Vector

An attacker authenticates to NetBox with any account holding core.view_datasource permission, which is often granted broadly to read-only operators. The attacker queries /api/core/data-sources/ over REST or issues an equivalent GraphQL dataSources query. The response body contains the parameters object with plaintext Git passwords and S3 secret keys. The attacker then reuses those credentials against the referenced Git server or AWS account to clone private repositories or read and modify S3 objects.

No code execution primitive is available in NetBox itself through this flaw, but the disclosed credentials frequently unlock high-value external systems. See the VulnCheck Advisory on NetBox and the GitHub NetBox Credential Disclosure writeup for reproduction details.

Detection Methods for CVE-2026-86175

Indicators of Compromise

  • REST API GET requests to /api/core/data-sources/ or /api/core/data-sources/{id}/ originating from low-privilege user tokens.
  • GraphQL POST requests to /graphql/ containing the dataSources or dataSource query selecting the parameters field.
  • Unexpected Git clone or git fetch activity against internal repositories from hosts other than the NetBox worker.
  • AWS CloudTrail GetObject, ListBucket, or PutObject events using data source IAM keys from unfamiliar source IP addresses.

Detection Strategies

  • Enable NetBox API access logging and alert on read-only accounts enumerating the data-sources endpoints.
  • Parse GraphQL request bodies at the reverse proxy to flag queries that request the parameters field on DataSourceType.
  • Correlate NetBox API reads with subsequent authentication events on the associated Git server or AWS IAM principal.

Monitoring Recommendations

  • Rotate and monitor all Git and S3 credentials configured as NetBox data sources; treat any historical exposure as compromise.
  • Baseline expected callers of /api/core/data-sources/ and alert on new user agents or client IP ranges.
  • Forward NetBox application logs and reverse-proxy access logs to a centralized analytics platform for retention and correlation.

How to Mitigate CVE-2026-86175

Immediate Actions Required

  • Restrict the core.view_datasource permission to administrative roles only until a patched NetBox release is deployed.
  • Rotate every Git password and AWS access key currently stored in NetBox data source configurations.
  • Audit Git server logs and AWS CloudTrail for any use of exposed credentials from unexpected sources.
  • Disable or delete unused data source entries to reduce the pool of exposed secrets.

Patch Information

At the time of publication, the NetBox project had not shipped a fixed release addressing this specific API and GraphQL exposure. Monitor the NetBox Community Repository and the VulnCheck Advisory on NetBox for release notes referencing CVE-2026-86175, and upgrade to the first version that supersedes 4.7.0 with a full server-side redaction fix.

Workarounds

  • Use NetBox permission constraints or custom roles to remove view access on data source objects for non-administrative users.
  • Place NetBox behind a reverse proxy that strips the parameters field from responses to /api/core/data-sources/ and blocks GraphQL queries selecting that field.
  • Migrate high-value Git and S3 integrations to short-lived, scoped credentials, such as deploy keys or AWS STS session tokens, to limit blast radius if credentials leak again.
bash
# Example NGINX snippet to block GraphQL queries selecting the parameters field
location /graphql/ {
    if ($request_body ~* "parameters") {
        return 403;
    }
    proxy_pass http://netbox_upstream;
}

# Restrict REST data-sources endpoint to admin group
location ~ ^/api/core/data-sources/ {
    auth_request /_admin_only;
    proxy_pass http://netbox_upstream;
}

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.