/

CVE-2026-115371

Severity:

HIGH RISK

(7.1)

Improper Authorization (CWE-522) in Incus Storage Buckets

CVE-2026-115371

Deferred

Vulnerability type

Category:

Improper Authorization

CWE:

CWE-522

Impact:

Storage Credential Disclosure and Unauthorized Bucket Access

Severity:

HIGH RISK

(7.1)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

An improper authorization vulnerability in Incus allows restricted TLS clients to access storage bucket key endpoints in the default project. Exposed S3 access and secret keys could let an attacker read, modify, or delete objects in affected buckets.

An improper authorization vulnerability in Incus allows restricted TLS clients to access storage bucket key endpoints in the default project. Exposed S3 access and secret keys could let an attacker read, modify, or delete objects in affected buckets.

Affected context

The issue occurs in Incus deployments where restricted TLS clients can reach storage bucket key endpoints without authorization being sufficiently limited to the intended project or resources. It primarily affects the default project and becomes risky when the exposed credentials provide access to S3-compatible bucket operations.

The issue occurs in Incus deployments where restricted TLS clients can reach storage bucket key endpoints without authorization being sufficiently limited to the intended project or resources. It primarily affects the default project and becomes risky when the exposed credentials provide access to S3-compatible bucket operations.

Exploit preconditions

  • Attack surface: Incus storage bucket key endpoints
  • Required access: A restricted TLS client identity with permission to interact with the Incus API
  • Trigger point: Requests that retrieve storage bucket access and secret keys
  • Why exploitation is possible: Authorization checks do not adequately prevent restricted clients from obtaining credentials associated with buckets in the default project
  • Attack surface: Incus storage bucket key endpoints
  • Required access: A restricted TLS client identity with permission to interact with the Incus API
  • Trigger point: Requests that retrieve storage bucket access and secret keys
  • Why exploitation is possible: Authorization checks do not adequately prevent restricted clients from obtaining credentials associated with buckets in the default project

Why this happens

The vulnerability results from an authorization boundary that does not correctly enforce access control for storage bucket key retrieval. A restricted client can reach an endpoint that exposes credentials beyond its intended privilege scope, mapping to CWE-522: Insufficiently Protected Credentials and improper authorization behavior. Once disclosed, the credentials may be used against the associated S3-compatible storage service.

The vulnerability results from an authorization boundary that does not correctly enforce access control for storage bucket key retrieval. A restricted client can reach an endpoint that exposes credentials beyond its intended privilege scope, mapping to CWE-522: Insufficiently Protected Credentials and improper authorization behavior. Once disclosed, the credentials may be used against the associated S3-compatible storage service.

Potential impact

  • Attackers may obtain S3 access and secret keys
  • Unauthorized parties could read objects stored in affected buckets
  • Attackers could modify or delete bucket contents
  • Data confidentiality, integrity, and availability may be compromised
  • Exposed credentials could enable follow-on access to connected storage workflows
  • Attackers may obtain S3 access and secret keys
  • Unauthorized parties could read objects stored in affected buckets
  • Attackers could modify or delete bucket contents
  • Data confidentiality, integrity, and availability may be compromised
  • Exposed credentials could enable follow-on access to connected storage workflows

General mitigation guidance

Mitigation generally focuses on enforcing authorization at every storage bucket credential endpoint and reducing the trust placed in restricted client identities.

Common defensive patterns include:

  • Apply explicit project-, bucket-, and operation-level authorization checks
  • Ensure restricted clients cannot retrieve credentials outside their authorized scope
  • Prefer short-lived, narrowly scoped storage credentials where supported
  • Reduce credential privileges to only the required object operations
  • Protect credential responses from logging, caching, and unnecessary disclosure
  • Rotate potentially exposed keys and review bucket permissions as part of incident response
  • Monitor and restrict access to the default project

Mitigation generally focuses on enforcing authorization at every storage bucket credential endpoint and reducing the trust placed in restricted client identities.

Common defensive patterns include:

  • Apply explicit project-, bucket-, and operation-level authorization checks
  • Ensure restricted clients cannot retrieve credentials outside their authorized scope
  • Prefer short-lived, narrowly scoped storage credentials where supported
  • Reduce credential privileges to only the required object operations
  • Protect credential responses from logging, caching, and unnecessary disclosure
  • Rotate potentially exposed keys and review bucket permissions as part of incident response
  • Monitor and restrict access to the default project

How teams detect issues like this

Organizations can detect this class of issue through:

  • Authorization tests covering restricted TLS identities and default-project resources
  • Static and architectural review of API handlers that return storage credentials
  • Code review signals showing project or bucket lookups performed without an equivalent authorization check
  • Policy tests confirming that credential endpoints enforce least privilege
  • Audit monitoring for unusual bucket-key retrievals and subsequent object operations
  • Automated API security testing that evaluates access-control behavior across client roles

Organizations can detect this class of issue through:

  • Authorization tests covering restricted TLS identities and default-project resources
  • Static and architectural review of API handlers that return storage credentials
  • Code review signals showing project or bucket lookups performed without an equivalent authorization check
  • Policy tests confirming that credential endpoints enforce least privilege
  • Audit monitoring for unusual bucket-key retrievals and subsequent object operations
  • Automated API security testing that evaluates access-control behavior across client roles

Sources

SourceLink
github.comgithub.com/lxc/incus/security/advisories/GHSA-x8gj-2q73-qr6j
vulncheck.comvulncheck.com/advisories/lxc-incus-6.0.3-before-6.0.7-6.6.0-before-7.0.2-and-7.1.0-before-7.5.0-bucket-credential-disclosure-via-storage-bucket-keys-endpoints

Frequently asked

questions

It may be exploitable over the Incus API by a restricted TLS client that can reach the affected storage bucket key endpoints.

No. The relevant prerequisite is an accepted restricted TLS client identity with enough API reachability to query the improperly authorized endpoint.

Enforce project-, bucket-, and operation-level authorization before returning any storage credentials, and issue only narrowly scoped credentials.

Test every sensitive endpoint with multiple client roles, apply least privilege, avoid exposing long-lived secrets, and monitor credential retrieval and storage activity.

It may be exploitable over the Incus API by a restricted TLS client that can reach the affected storage bucket key endpoints.

No. The relevant prerequisite is an accepted restricted TLS client identity with enough API reachability to query the improperly authorized endpoint.

Enforce project-, bucket-, and operation-level authorization before returning any storage credentials, and issue only narrowly scoped credentials.

Test every sensitive endpoint with multiple client roles, apply least privilege, avoid exposing long-lived secrets, and monitor credential retrieval and storage activity.

Find out what's already
exploitable in your codebase.