CVE-2024-8260
High · 7.3OPA for Windows has an SMB force-authentication vulnerability
CVSS
7.3
EPSS
0.3%
Published
Aug 30, 2024
CISA due date
—
Cloudanix analysis
A flaw in policy software on Windows lets attackers trick it into connecting to their server and handing over login credentials.
- 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
- Identify Windows systems running OPA CLI or applications using the OPA Go library
- Craft input containing an attacker-controlled SMB share path instead of a Rego file
- Invoke OPA with the malicious path argument
- 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
- CVE-2025-46569 Open Policy Agent (OPA) is an open source, general-purpose policy engine. Also affects github.com/open-policy-agent/opa
- CVE-2026-34986 Go JOSE provides an implementation of the Javascript Object Signing and Encryption set of… Also affects conftest
- CVE-2026-33748 BuildKit is a toolkit for converting source code to build artifacts in an efficient… Also affects conftest
- CVE-2026-33747 BuildKit is a toolkit for converting source code to build artifacts in an efficient… Also affects conftest
- CVE-2025-8959 HashiCorp's go-getter library subdirectory download feature is vulnerable to symlink… Also affects conftest
- CVE-2024-6257 HashiCorp’s go-getter library can be coerced into executing Git update on an existing… Also affects conftest
- CVE-2024-3817 HashiCorp’s go-getter library is vulnerable to argument injection when executing Git to… Also affects conftest
- CVE-2024-29018 Moby is an open source container framework that is a key component of Docker Engine… Also affects conftest