Cloudanix VulnDB

CVE-2024-8260

High · 7.3

OPA for Windows has an SMB force-authentication vulnerability

CVSS

7.3

EPSS

0.3%

Published

Aug 30, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in policy software on Windows lets attackers trick it into connecting to their server and handing over login credentials.

Chainable
Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Moderate
Impact
Data Exposure
Component
Library
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The vulnerability allows an attacker to supply an arbitrary SMB share path in place of a legitimate Rego policy file to the OPA CLI or Go library functions on Windows, triggering forced authentication to the attacker's SMB server due to improper input validation.

Why it matters to the business

Organizations using OPA on Windows face risk of credential theft via forced SMB authentication, potentially enabling lateral movement or unauthorized access, with 15,768 downstream dependents amplifying exposure across ecosystems.

How an attack unfolds

An attacker provides a malicious SMB share URI as input to OPA CLI or library functions; OPA attempts to access the path, forcing the Windows client to authenticate to the attacker-controlled server and exposing NTLM hashes or credentials.

How to fix it

Upgrade all OPA for Windows installations to version 0.68.0 or later. Apply the listed fixed versions for any affected Jackson Databind packages by updating to 2.9.10.8.

How to confirm the fix worked

Confirm OPA version is 0.68.0 or higher; test by attempting to pass an SMB share path and verifying rejection with an error rather than attempted access.

Typical attack path

  1. Identify Windows systems running OPA CLI or applications using the OPA Go library
  2. Craft input containing an attacker-controlled SMB share path instead of a Rego file
  3. Invoke OPA with the malicious path argument
  4. Capture forced authentication attempts and extract credentials on the attacker SMB server

How to detect it

Review Windows security and SMB event logs for authentication attempts initiated by OPA processes to unexpected external shares; inspect command-line arguments passed to OPA for SMB or UNC paths.

  • opa.exe command line containing \\ or smb://
  • SMB NTLM authentication events from OPA process to non-internal servers

What your security team should do

  • Prioritize upgrade of OPA on Windows to v0.68.0 within the next patching cycle given ecosystem prevalence
  • Audit all OPA CLI invocations and library calls for unsanitized file path inputs
  • Enable enhanced SMB authentication logging on Windows hosts running OPA

The record

A SMB force-authentication vulnerability exists in all versions of OPA for Windows prior to v0.68.0. The vulnerability exists because of improper input validation, allowing a user to pass an arbitrary SMB share instead of a Rego file as an argument to OPA CLI or to one of the OPA Go library’s functions.

Affected packages

Ecosystem Package Introduced Fixed
Go github.com/open-policy-agent/opa 0 0.68.0
Chainguard conftest 0 0.55.0-r2
Chainguard conftest-fips 0 0.55.0-r2
Chainguard cosign 0 2.4.0-r4
Chainguard cosign-fips 0 2.4.0-r3
Chainguard datadog-agent 0 7.56.2-r2
Chainguard datadog-agent-core-integrations 0 7.56.2-r2
Chainguard datadog-agent-core-integrations-fips 0 7.64.1-r0
Chainguard datadog-agent-fakeintake 0 7.56.2-r2
Chainguard datadog-agent-fakeintake-fips 0 7.64.1-r0
Chainguard datadog-agent-fips 0 7.64.1-r0
Chainguard datadog-agent-jmx 0 7.56.2-r2
Chainguard datadog-agent-jmx-fips 0 7.64.1-r0
Chainguard datadog-agent-oci-compat 0 7.56.2-r2
Chainguard datadog-agent-oci-compat-fips 0 7.64.1-r0
Chainguard datadog-agent-s6-overlay 0 7.56.2-r2
Chainguard datadog-agent-s6-overlay-fips 0 7.64.1-r0
Chainguard datadog-cluster-agent 0 7.56.2-r2
Chainguard datadog-cluster-agent 0 7.64.1-r0
Chainguard datadog-cluster-agent-fips 0 7.64.1-r0
Chainguard datadog-cluster-agent-oci-compat 0 7.56.2-r2
Chainguard datadog-cluster-agent-oci-compat 0 7.64.1-r0
Chainguard datadog-cluster-agent-oci-compat-fips 0 7.64.1-r0
Chainguard dogstatsd 0 7.56.2-r2
Chainguard gatekeeper-3.17 0 3.17.1-r2
Chainguard gatekeeper-3.17-compat 0 3.17.1-r2
Chainguard gatekeeper-3.17-crds 0 3.17.1-r2
Chainguard gatekeeper-3.17-crds-compat 0 3.17.1-r2
Chainguard gatekeeper-3.17-gator 0 3.17.1-r2
Chainguard gatekeeper-fips-3.17 0 3.17.1-r2
Chainguard gatekeeper-fips-3.17-compat 0 3.17.1-r2
Chainguard k8sgpt 0 0.3.42-r1
Chainguard kots 0 1.117.2-r1
Chainguard kots-compat 0 1.117.2-r1
Chainguard kots-symlink-compat 0 1.117.2-r1
Chainguard kubescape 0 3.0.18-r0
Chainguard kyverno-1.11 0 1.11.5-r16
Chainguard kyverno-1.12 0 1.12.5-r4
Chainguard kyverno-background-controller-1.11 0 1.11.5-r16
Chainguard kyverno-background-controller-1.12 0 1.12.5-r4
Chainguard kyverno-background-controller-fips-1.11 0 1.11.5-r21
Chainguard kyverno-background-controller-fips-1.12 0 1.12.7-r9
Chainguard kyverno-cleanup-controller-1.11 0 1.11.5-r16
Chainguard kyverno-cleanup-controller-1.12 0 1.12.5-r4
Chainguard kyverno-cleanup-controller-fips-1.11 0 1.11.5-r21
Chainguard kyverno-cleanup-controller-fips-1.12 0 1.12.7-r9
Chainguard kyverno-cli-1.11 0 1.11.5-r16
Chainguard kyverno-cli-1.12 0 1.12.5-r4
Chainguard kyverno-cli-fips-1.11 0 1.11.5-r21
Chainguard kyverno-cli-fips-1.12 0 1.12.7-r9
Chainguard kyverno-fips-1.11 0 1.11.5-r21
Chainguard kyverno-fips-1.12 0 1.12.7-r9
Chainguard kyverno-init-container-1.11 0 1.11.5-r16
Chainguard kyverno-init-container-1.12 0 1.12.5-r4
Chainguard kyverno-init-container-fips-1.11 0 1.11.5-r21
Chainguard kyverno-init-container-fips-1.12 0 1.12.7-r9
Chainguard kyverno-reports-controller-1.11 0 1.11.5-r16
Chainguard kyverno-reports-controller-1.12 0 1.12.5-r4
Chainguard kyverno-reports-controller-fips-1.11 0 1.11.5-r21
Chainguard kyverno-reports-controller-fips-1.12 0 1.12.7-r9
Chainguard opa 0 0.68.0-r0
Chainguard policy-controller 0 0.9.0-r10
Chainguard policy-controller-fips 0 0.12.0-r7
Chainguard policy-controller-tester 0 0.9.0-r10
Chainguard policy-controller-tester-fips 0 0.12.0-r7
Chainguard policy-controller-webhook 0 0.9.0-r10
Chainguard snyk-cli 0 1.1293.1-r1
Chainguard spire-agent 0 1.11.2-r5
Chainguard spire-agent-fips 0 1.12.0-r0
Chainguard spire-oidc-discovery-provider 0 1.11.2-r5
Chainguard spire-oidc-discovery-provider-fips 0 1.12.0-r0
Chainguard spire-server 0 1.11.2-r5
Chainguard spire-server-fips 0 1.12.0-r0
Chainguard tfsec 0 1.28.10-r2
Chainguard zarf 0 0.40.1-r1
Chainguard zot 0 2.1.1-r2
Wolfi conftest 0 0.55.0-r2
Wolfi cosign 0 2.4.0-r4
Wolfi cosign-fips 0 2.4.0-r3
Wolfi datadog-agent 0 7.56.2-r2
Wolfi datadog-agent-core-integrations 0 7.56.2-r2
Wolfi datadog-agent-fakeintake 0 7.56.2-r2
Wolfi datadog-agent-jmx 0 7.56.2-r2
Wolfi datadog-agent-oci-compat 0 7.56.2-r2
Wolfi datadog-agent-s6-overlay 0 7.56.2-r2
Wolfi datadog-cluster-agent 0 7.56.2-r2
Wolfi datadog-cluster-agent 0 7.64.1-r0
Wolfi datadog-cluster-agent-oci-compat 0 7.56.2-r2
Wolfi datadog-cluster-agent-oci-compat 0 7.64.1-r0
Wolfi dogstatsd 0 7.56.2-r2
Wolfi gatekeeper-3.17 0 3.17.1-r2
Wolfi gatekeeper-3.17-compat 0 3.17.1-r2
Wolfi gatekeeper-3.17-crds 0 3.17.1-r2
Wolfi gatekeeper-3.17-crds-compat 0 3.17.1-r2
Wolfi gatekeeper-3.17-gator 0 3.17.1-r2
Wolfi k8sgpt 0 0.3.42-r1
Wolfi kots 0 1.117.2-r1
Wolfi kots-compat 0 1.117.2-r1
Wolfi kots-symlink-compat 0 1.117.2-r1
Wolfi kubescape 0 3.0.18-r0
Wolfi kyverno-1.12 0 1.12.5-r4
Wolfi kyverno-background-controller-1.12 0 1.12.5-r4
Wolfi kyverno-cleanup-controller-1.12 0 1.12.5-r4
Wolfi kyverno-cli-1.12 0 1.12.5-r4
Wolfi kyverno-init-container-1.12 0 1.12.5-r4
Wolfi kyverno-reports-controller-1.12 0 1.12.5-r4
Wolfi opa 0 0.68.0-r0
Wolfi policy-controller 0 0.9.0-r10
Wolfi policy-controller-tester 0 0.9.0-r10
Wolfi policy-controller-webhook 0 0.9.0-r10
Wolfi snyk-cli 0 1.1293.1-r1
Wolfi spire-agent 0 1.11.2-r5
Wolfi spire-oidc-discovery-provider 0 1.11.2-r5
Wolfi spire-server 0 1.11.2-r5
Wolfi tfsec 0 1.28.10-r2
Wolfi zarf 0 0.40.1-r1
Wolfi zot 0 2.1.1-r2

Related vulnerabilities