CVE-2023-43800

7.3 HIGH

📋 TL;DR

This vulnerability allows local attackers or those who can bypass CORS restrictions to escalate privileges to the level of the Arduino Create Agent service user via a crafted HTTP POST request to the /v2/pkgs/tools/installed endpoint. It affects users running vulnerable versions of Arduino Create Agent on their systems. The vulnerability enables unauthorized privilege escalation without requiring authentication.

💻 Affected Systems

Products:
  • Arduino Create Agent
Versions: Versions before 1.3.3
Operating Systems: All platforms running Arduino Create Agent
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default configuration of affected versions. The agent typically runs as a local service.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker gains full control over the Arduino Create Agent service account, potentially allowing them to execute arbitrary code with the service's privileges, install malicious packages, or compromise the host system.

🟠

Likely Case

Local users or attackers who can reach the localhost interface escalate privileges to the service account level, enabling unauthorized software installation or configuration changes.

🟢

If Mitigated

With proper network segmentation and access controls, only authorized local users could potentially exploit this, limiting the attack surface.

🌐 Internet-Facing: LOW - The vulnerability requires access to localhost interface or ability to bypass CORS, making direct internet exploitation unlikely without additional attack vectors.
🏢 Internal Only: HIGH - Local attackers or those with network access to the host can exploit this vulnerability to escalate privileges.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires crafting a specific HTTP POST request to the vulnerable endpoint. No authentication is required if the attacker can reach the endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.3.3

Vendor Advisory: https://github.com/arduino/arduino-create-agent/security/advisories/GHSA-4x5q-q7wc-q22p

Restart Required: Yes

Instructions:

1. Download Arduino Create Agent version 1.3.3 or later from official sources. 2. Stop the Arduino Create Agent service. 3. Install the updated version. 4. Restart the service.

🧯 If You Can't Patch

  • Restrict network access to the Arduino Create Agent service using firewall rules to allow only trusted hosts.
  • Run the Arduino Create Agent service with minimal privileges using a dedicated low-privilege service account.

🔍 How to Verify

Check if Vulnerable:

Check if Arduino Create Agent is running and its version is below 1.3.3. Look for the agent process and check its version information.

Check Version:

Check the agent's version through its interface or look for version files in the installation directory.

Verify Fix Applied:

Verify that Arduino Create Agent version is 1.3.3 or higher by checking the version number in the application or via package manager.

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP POST requests to /v2/pkgs/tools/installed endpoint
  • Unexpected privilege escalation events
  • Unauthorized package installation attempts

Network Indicators:

  • HTTP POST requests to localhost:port/v2/pkgs/tools/installed from unexpected sources
  • CORS bypass attempts to the agent endpoint

SIEM Query:

source="arduino-agent" AND (url_path="/v2/pkgs/tools/installed" OR event_type="privilege_escalation")

🔗 References

📤 Share & Export