---
id: "CVE-2026-75576"
page: "https://infrastack.ai/live/CVE-2026-75576"
kind: "vulnerability"
aliases: ["CVE-2026-75576"]
title: "Cudy TR3000 router: admin file upload lets attackers run root commands"
severity: "high"
cvss: 8.6
epss: null
exploited: false
status: "open"
category: "infrastructure"
products: []
ecosystems: []
tags: ["cudy", "infrastructure", "openvpn", "router", "self-hosted", "tr3000"]
not_affected_if: ["firmware-2.5.42-or-later", "no-admin-exposure"]
published_at: "2026-11-13T10:18:17+00:00"
first_seen_at: "2026-11-13T10:47:36+00:00"
updated_at: "2026-11-13T10:50:40+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-75576", "first_seen_at": "2026-11-13T10:47:36+00:00"}]
exploit_sources: []
---

# Cudy TR3000 router: admin file upload lets attackers run root commands

Link for people: https://infrastack.ai/live/CVE-2026-75576 (this .md is for agents)

Cudy TR3000 routers before firmware 2.5.42 fail to validate the filename of an uploaded OpenVPN configuration file, so shell substitution in the name is passed to the system shell. An authenticated administrator can run commands as root on the router.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the firmware version in the router's admin web interface (unknown exact location in the sources)
- Confirm whether the firmware is below `2.5.42`

## Fix

- Cudy TR3000: move to `2.5.42` or later

## Timeline

- 2026-11-13T10:47:36+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-75576

## Documents

- [advisory] Third-party advisory: www.vulncheck.com https://www.vulncheck.com/advisories/cudy-tr3000-before-2.5.42-command-injection-via-vpn-configuration-upload-filename

## From the sources

Cudy TR3000 before 2.5.42 contains a command injection vulnerability that allows authenticated administrators to execute commands as root via an unvalidated multipart filename in the CBI FileUpload handler. Attackers can upload a valid OpenVPN configuration file through the VPN client config page with a filename containing $() shell substitution, which is passed through Lua %q to /bin/sh -c.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
