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

CVE-2026-16120: GoClaw RCE Vulnerability

CVE-2026-16120 is a remote code execution vulnerability in GoClaw affecting versions up to 3.13.3-beta.3. The flaw involves incorrectly-resolved names in exec_approval.go. This article covers technical details, impact, and mitigation.

Published:

CVE-2026-16120 Overview

CVE-2026-16120 affects nextlevelbuilder GoClaw up to version 3.13.3-beta.3. The vulnerability resides in the matchesAllowlist/extractBin function within internal/tools/exec_approval.go. Manipulating this function leads to an incorrectly-resolved name condition [CWE-706], allowing an authenticated remote attacker to influence how the allowlist matching logic evaluates binary paths.

The exploit has been publicly disclosed, though no active exploitation has been reported. The issue impacts confidentiality, integrity, and availability at a limited scope.

Critical Impact

Attackers with low privileges can bypass the execution approval allowlist by supplying names that resolve differently than the allowlist logic expects, potentially executing unintended binaries.

Affected Products

  • nextlevelbuilder GoClaw versions up to and including 3.13.3-beta.3
  • The matchesAllowlist function in internal/tools/exec_approval.go
  • The extractBin function in internal/tools/exec_approval.go

Discovery Timeline

  • 2026-07-18 - CVE-2026-16120 published to NVD
  • 2026-07-20 - Last updated in NVD database

Technical Details for CVE-2026-16120

Vulnerability Analysis

The flaw is classified as an incorrectly-resolved name weakness [CWE-706]. GoClaw enforces execution controls by matching a requested binary against an allowlist through the matchesAllowlist function, using extractBin to derive the binary identifier from user-controlled input.

When the two functions interpret the same input differently, an attacker can craft a name that passes the allowlist check but resolves to a different binary at execution time. This mismatch defeats the approval control that GoClaw is designed to enforce.

The attack requires network access and low-privilege authentication. No user interaction is needed to trigger the condition.

Root Cause

The root cause is inconsistent name resolution between the validation path and the execution path. extractBin normalizes or parses the binary reference in one way, while downstream execution logic resolves the same string differently, producing a Time-of-Check to Time-of-Use style discrepancy in name interpretation.

Attack Vector

An authenticated remote user submits a specially crafted binary reference to the execution approval component. The matchesAllowlist function accepts the reference as approved based on the extracted name, but the actual resolved binary differs from the one the allowlist authorizes. See GitHub Issue #1213 and the VulDB entry for CVE-2026-16120 for additional technical context.

No verified proof-of-concept code has been published in a structured format. Refer to the GoClaw project repository for source-level details.

Detection Methods for CVE-2026-16120

Indicators of Compromise

  • Execution approval log entries where the approved binary name differs from the binary that was ultimately executed.
  • Requests to GoClaw execution endpoints containing path traversal sequences, symbolic references, or unusual characters in binary name fields.
  • Unexpected binaries launched by the GoClaw process outside the documented allowlist.

Detection Strategies

  • Audit exec_approval.go log output and correlate the input passed to matchesAllowlist with the binary actually invoked downstream.
  • Compare hashes of executed binaries against the intended allowlist entries to identify name-resolution mismatches.
  • Review authentication logs for low-privileged accounts making frequent execution approval requests.

Monitoring Recommendations

  • Enable verbose logging on the GoClaw execution approval component to capture both the raw input and the resolved binary path.
  • Forward GoClaw application logs to a centralized log store and alert on discrepancies between approved and executed binary names.
  • Track the GoClaw version deployed across environments and flag any instance running 3.13.3-beta.3 or earlier.

How to Mitigate CVE-2026-16120

Immediate Actions Required

  • Upgrade GoClaw to a version later than 3.13.3-beta.3 once the maintainers publish a fixed release.
  • Restrict network access to GoClaw execution endpoints so that only trusted, authenticated users can reach them.
  • Review and tighten the execution allowlist to remove entries that are not strictly required.

Patch Information

At the time of publication, no fixed release has been formally announced in the NVD record. Track GitHub Issue #1213 and the issue comment thread for remediation status and commit references.

Workarounds

  • Disable or gate the execution approval feature until an upstream fix is available.
  • Enforce strict input validation on binary name fields, rejecting inputs containing path separators, relative path components, or non-canonical characters.
  • Run GoClaw under a dedicated low-privilege service account with restricted filesystem access to limit the impact of a successful bypass.
bash
# Example: identify GoClaw instances and their versions across hosts
goclaw --version

# Example: restrict GoClaw execution to a minimal allowlist directory
chmod 755 /opt/goclaw/allowlisted-bins
chown root:goclaw /opt/goclaw/allowlisted-bins

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

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

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.