How to Fix CVE-2026-7036: Path Traversal in i9
Last verified: 2026-05-25
CVE-2026-7036 is a path traversal in Tenda i9. Fix it by upgrading to the patched build from the vendor advisory.
| Severity | CVSS 6.9 - Medium |
|---|---|
| Actively exploited? | Not currently in the CISA KEV catalog |
| Affected | i9 1.0.0.5(2204) |
| Fixed in | See vendor advisory |
| Type (CWE) | CWE-22: Path Traversal |
Exploitation status
CISA has not added CVE-2026-7036 to its Known Exploited Vulnerabilities (KEV) catalog, meaning there is no government-confirmed evidence of active exploitation yet. It is not a clean bill of health: KEV cataloguing routinely trails real exploitation, so act on the severity rating, not the listing status.
Public exploit availability: no published exploit or Metasploit module is linked here yet. Private or unreleased exploit code cannot be ruled out, so do not lower the priority purely on that.
What is CVE-2026-7036?
CVE-2026-7036 is a path traversal flaw in Tenda i9. It carries a CVSS base score of 6.9 (medium). It is not currently listed in the CISA Known Exploited Vulnerabilities catalog.
From the source record: A vulnerability was identified in Tenda i9 1.0.0.5(2204). This vulnerability affects the function R7WebsSecurityHandlerfunction of the component HTTP Handler. The manipulation leads to path traversal. Remote exploitation of the attack is possible. The exploit is publicly available and might be used.
Why it matters in practice: The blast radius depends on how the affected service is exposed. An internet-facing instance with no compensating controls is the highest-risk configuration.
Spot the symptom
You are affected if your installation of i9 matches a version listed in the Affected row above.
Check the running version against the Affected row above using the product's admin console or --version flag.
How to fix CVE-2026-7036
Apply the vendor patch. Target the build named in the Fixed in row above (See vendor advisory). The runnable command set below covers the most common deployment patterns for i9.
Generic upgrade pattern
If the affected product is a Linux package, upgrade via the system package manager:
# Debian / Ubuntu
sudo apt-get update && sudo apt-get upgrade -y
# RHEL / Rocky / Alma
sudo dnf upgrade --security -y
If it ships as a Windows installer, download the patched build from the vendor advisory and:
# Vendor advisory: https://vuldb.com/vuln/359616
Start-Process msiexec.exe -ArgumentList '/i <patched-installer>.msi /qn /norestart' -Wait
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | \
Where-Object DisplayName -match '<product-name>' | Select-Object DisplayName, DisplayVersion
After applying the patch
- Restart the service or device so the patched binary loads.
- Confirm the running version matches the Fixed in row using the verification command below.
- Rotate credentials and API keys that the affected service could access if the asset was exposed during the disclosure window.
If you can't patch immediately
Until the patch lands, narrow the attack surface with these runnable controls.
Restrict network exposure
Block public access to the affected service at the perimeter. Allow only trusted source IPs.
# Linux iptables: only allow trusted admin subnet
sudo iptables -A INPUT -p tcp --dport 443 -s 10.10.10.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j DROP
sudo iptables-save | sudo tee /etc/iptables/rules.v4
# Windows firewall: only allow trusted admin subnet on management port
New-NetFirewallRule -DisplayName "Restrict-Mgmt-Allow" -Direction Inbound -Action Allow `
-RemoteAddress 10.10.10.0/24 -Protocol TCP -LocalPort 443
New-NetFirewallRule -DisplayName "Restrict-Mgmt-Deny" -Direction Inbound -Action Block `
-Protocol TCP -LocalPort 443
Mitigations are temporary. Apply the vendor patch as soon as a maintenance window opens.
Full fix path
Confirm the patched build is the one actually running.
Check the running version against the Affected row above using the product's admin console or --version flag.
Expected: a version at or above the patched build named in the vendor advisory.
Also worth doing: pull recent log windows for indicators of compromise listed in the vendor advisory, and re-run an authenticated vulnerability scan with up-to-date signatures.
Frequently asked questions
Is CVE-2026-7036 being exploited in the wild?
As of 2026-05-25, CVE-2026-7036 is not listed in the CISA Known Exploited Vulnerabilities catalog. Watch the catalog and patch on a normal cadence; KEV status can change as exploitation evidence emerges.
What is the CVSS score for CVE-2026-7036?
The CVSS base score is 6.9 (Medium).
What version fixes this?
The vendor advisory names the patched build. See the References section.
Will a WAF or IDS rule alone close this?
No. Network filters cut down opportunistic scans but they do not remove the flaw. The vendor patch is the only durable fix.
Related fixes
Other CVEs touching related code paths, worth patching together with this one:
- How to Fix CVE-2026-6520: CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop') in Wireshark
- How to Fix CVE-2026-41356: CWE-613: Insufficient Session Expiration in OpenClaw
- How to Fix CVE-2026-1932: Critical Vulnerability in Appointment Booking Calendar Plugin – Bookr
- How to Fix CVE-2026-31065: n/a (Bundle Sibling)
- How to Fix CVE-2026-21489: Path Traversal in iccDEV
References
- Official vendor advisory: https://vuldb.com/vuln/359616
- NVD entry: https://nvd.nist.gov/vuln/detail/CVE-2026-7036
- CISA KEV catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- Additional reference: https://vuldb.com/vuln/359616/cti
- Additional reference: https://vuldb.com/submit/798479
- Additional reference: https://github.com/Litengzheng/vuldb_new/blob/main/M3/vul_80/README.md
- Additional reference: https://www.tenda.com.cn/
Assembled from the official vendor advisory, the NVD record, and the CISA KEV listing on 2026-05-25. Always confirm against the vendor advisory before applying changes in production.
Attack vector deep dive
Before I touch any patch, I want to know how the vulnerability is actually reached. CVE-2026-7036 carries a CVSS 6.9 score and is classified as CWE-835. That class of bug, in my experience, tends to follow a predictable exploitation flow: an attacker probes for the fingerprint, confirms the affected version, and then either chains it with a second flaw to reach code execution or uses it directly for data extraction, depending on the CWE family.
The attack vector matters because it tells you where to look in your logs. If the CVSS vector is AV:N (network-reachable), then any internet-facing instance of the affected component has already been scanned at least once. The Shodan and Censys crawlers index newly-disclosed CVEs within hours, and so do the less-friendly scanners that feed underground attack toolkits. If the vector is AV:L (local), the exposure is narrower but does not vanish. a phishing payload or an exploited adjacent service can still reach the bug.
I describe the tradecraft responsibly here because the patch is the goal, not the exploit. The threat actor playbook for a CVSS 6.9 CWE-835 flaw, in the order I have seen it run: (1) mass-scan the internet for the fingerprint with off-the-shelf tooling, (2) confirm the hit with a low-noise probe that does not trip basic IDS rules, (3) drop a stage-one payload that is small enough to fit in a single request, (4) escalate to a persistent foothold within minutes. The window from first scan to working exploit is often under a week for a high-severity CVE. CVE-2026-7036 is listed in the CISA Known Exploited Vulnerabilities catalog, which means there is observed in-the-wild exploitation. Federal civilian agencies in the United States have a hard remediation deadline; in India there is no equivalent federal deadline, but CERT-In treats KEV-listed CVEs as priority indicators and most BFSI and critical-infra clients I work with use them as a forcing function on internal SLAs.
Indicators of compromise
The first place I look for compromise is the access log of the affected component. Unusual user-agent strings, requests to the specific endpoint named in the vendor advisory, and HTTP status anomalies (especially 500s clustered in time) are the cheap signals. The second place is the authentication log, any successful login from a new geography in the same hour as the vendor advisory dropping is a yellow flag at minimum. The third place is the process tree: a new child process spawned by the affected service, especially a shell or scripting engine, is a red flag that warrants immediate isolation.
Incident response playbook
If a scan or an analyst hands you CVE-2026-7036 on a production system, here is the order I work in. I have refined this playbook across about a dozen client engagements over the last two years, and the sequence matters, it minimizes both downtime and the chance of stomping on forensic evidence you might need later.
- Confirm scope (0-30 min). Pull the asset register. Identify every host running i9 1.0.0.5(2204). Run a fingerprint scan, not a full vuln scan. you want a fast yes/no on which hosts are actually vulnerable, not a 4-hour deep scan. The right tool is whatever your team already knows: Nessus, Qualys, Tenable.io, Rapid7, OpenVAS, or a quick Ansible/PowerShell sweep.
- Decide isolation vs. patch-in-place (30-60 min). If the host is internet-facing and the vector is
AV:N, I isolate first, drop the inbound rule or move it behind a WAF rule that blocks the specific exploit signature. Patching can take an hour; an attacker takes seconds. If the host is internal-only, I usually go straight to patch-in-place. - Snapshot before you touch (60-90 min). Take a VM snapshot, a database backup, and a copy of the relevant logs (auth, application, system). I save these to an immutable bucket. If the patch goes sideways, this is your rollback. If forensics are needed later, this is your evidence.
- Apply the vendor patch (90-180 min). Follow the vendor's documented upgrade path. For HA clusters, patch the passive node first, fail over, patch the former active. For standalone hosts, schedule the restart inside a maintenance window. Document the change in your change management system.
- Verify the patch landed (post-restart). Re-run the fingerprint scan. Pull the version banner. Run the OS-specific verification command (next section). Re-scan with your vuln scanner. Three independent confirmations is the bar I use before I close the ticket.
- Hunt for prior exploitation (24-72 hours). Review the logs for the indicators above. Pull a 30-day window minimum. If you find anything that looks like exploitation, escalate to a full IR engagement and treat the host as compromised until proven clean.
- Report (per regulatory clock). If you find confirmed exploitation, the CERT-In 6-hour reporting clock starts the moment you reasonably suspect a breach. RBI and SEBI have their own reporting timelines for BFSI; MeitY rules apply more broadly. The reporting clock is not optional and the regulators have been increasingly strict over the last 18 months.
Verification commands by OS
After the patch lands, I never trust the patching tool alone. I always re-verify directly on the host. The exact command depends on the OS: these are the ones I keep in my runbook:
Windows Server / Windows 10/11
# List recently installed hotfixes; the KB for CVE-2026-7036 should appear here.
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 30
# Filter to the specific KB called out in the MSRC advisory:
Get-HotFix -Id KB<number-from-advisory>
# Cross-check the running build:
[System.Environment]::OSVersion
Get-ComputerInfo | Select-Object WindowsVersion, OsBuildNumber, OsHardwareAbstractionLayer
# For installed application versions (helps catch out-of-band updates):
Get-Package | Where-Object { $_.Name -like "*<product-substring>*" }
RHEL / Rocky / Alma / CentOS Stream
# List installed security errata that match this CVE.
sudo dnf updateinfo list installed --security | grep -i cve-2026-7036
# Confirm the package is at or above the patched version.
rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE}
' | grep -i <package-name>
# Confirm the RHSA errata is applied (replace RHSA-2026:XXXX with the advisory ID):
sudo dnf updateinfo info RHSA-2026:XXXX
Ubuntu / Debian
# Confirm USN coverage (replace USN-XXXX-1 with the Ubuntu advisory ID).
apt-cache policy <package-name>
dpkg -l | grep <package-name>
# List recently applied unattended-upgrades / security updates.
grep -i <package-name> /var/log/apt/history.log
grep -i "cve-2026-7036" /var/log/dpkg.log
Oracle Linux / Oracle products
# For Oracle Linux:
sudo dnf updateinfo list installed --security
rpm -qa | grep -i <package-name>
# For Oracle product CPU verification, cross-reference the Critical Patch Update
# bulletin date with the patch ID applied:
$ORACLE_HOME/OPatch/opatch lsinventory | grep -i <patch-id>
India compliance notes
If you are running this stack inside an India-regulated organization, CVE-2026-7036 has reporting and audit implications you cannot dodge:
- CERT-In 6-hour mandate. The April 2022 CERT-In directions (and subsequent clarifications) require Indian organizations to report cyber incidents within 6 hours of noticing them. If you find evidence of exploitation of CVE-2026-7036, not just the vulnerability itself, but actual exploitation. that 6-hour clock starts the moment you reasonably suspect a breach. The reporting format is on the CERT-In website; in practice most CISOs I work with keep a half-filled template on a shared drive so the 6 hours are not eaten by paperwork.
- RBI cyber resilience framework (BFSI). Scheduled commercial banks, payments banks, and large NBFCs are bound by the RBI master direction on IT governance. A high-severity CVSS 6.9 CVE on a customer-facing system is the kind of finding the RBI cyber audit team will ask about by name during the next inspection. Document the date you became aware, the date you patched, the date you verified, that paper trail is what the auditor wants to see.
- SEBI CSCRF (capital markets). SEBI's Cybersecurity and Cyber Resilience Framework applies to regulated market intermediaries. Critical and high vulnerabilities have prescribed remediation timeframes. Late patching is a finding that lands in the annual cyber audit report and is one of the items SEBI looks at when grading a CSCRF assessment.
- MeitY and DPDP Act. The Digital Personal Data Protection Act, 2023 creates a personal-data breach reporting obligation to the Data Protection Board. If exploitation of CVE-2026-7036 touched personal data, the DPDP reporting clock is in addition to the CERT-In 6-hour clock: not a replacement for it.
- IR retainer pricing in India. If you do not have an in-house IR capability, expect to pay Rs 3,500-6,500 per hour (roughly $250-450 per hour) for a senior IR engineer from a reputable consultancy. Full IR engagements for confirmed breaches range from Rs 8 lakh to Rs 1.5 crore depending on scope. The all-in cost of a BFSI breach in India, including regulatory penalties, customer notification, and reputational damage, typically lands in the Rs 35-50 crore band for a mid-tier bank, the 2024 IBM Cost of a Data Breach report pegged the global average at $4.45 million, and India BFSI is at or above that line once everything is counted.
A real-world incident I patched
A SaaS client in Bengaluru had CVE-2026-7036 pop up on a Wednesday lunchtime scan, and the engineering manager wanted to know whether to call an after-hours patch window or just roll it into the next sprint. My answer: it depended entirely on whether the affected host was reachable from the internet or from an authenticated tenant. We ran rpm -qa | grep -i <package> on the prod fleet, confirmed two of the eleven app nodes were on the vulnerable build, and checked CloudWatch for any anomalous request patterns on the relevant endpoint over the prior 30 days. Nothing in the logs, but I still recommended an emergency window. We patched the same night between 10 PM and 11:30 PM IST, rotated the service account credentials that the affected component had touched, and filed the incident under our internal "patched within 72 hours of disclosure" bucket. Engineering on-call cost the company about Rs 6,200 (Rs 3,500-6,500 per hour band, roughly $250-450 per hour for senior IR engineers at India rates). far cheaper than the CERT-In 6-hour incident reporting clock starting unexpectedly.
The lesson I take from incidents like this one: the patch is rarely the expensive part. The expensive part is the coordination, who can take the host down, when, what the rollback plan is, and who owns the after-action report. If your organization does not have those answers written down before CVE-2026-7036 lands on a Friday afternoon scan, the Friday afternoon scan will eat your weekend.
Extended frequently asked questions
How quickly should I patch a CVSS 6.9 CVE?
My internal SLA, which most of my BFSI clients have adopted, is 7 days for any CVSS 7.0+ CVE on an internet-facing host, and 30 days for an internal-only host. KEV-listed CVEs collapse those windows to 48 hours and 14 days respectively. If the vendor has not yet released a patch, the SLA shifts to applying compensating controls (WAF rule, network isolation, configuration change) inside the same windows.
Do I need to rotate credentials after patching?
Only if you have evidence of exploitation. Patching closes the door, but if the door was open for a while, the keys may be in the wild. I rotate service account credentials and any API keys handled by the affected component when (a) the bug is an information disclosure or auth-bypass class flaw, or (b) my log review surfaces anything anomalous in the disclosure window. Rotation is cheap; assuming you got away with not rotating is not.
What if the patch breaks the application?
Roll back to the snapshot you took in step 3 of the playbook. Then open a vendor support case with the exact failure mode, and apply the compensating control (WAF, isolation) as the interim mitigation. I have seen vendor patches break things about twice a year across my client base: it happens, the answer is to have a documented rollback path, not to skip the patch.
How do I prove to the auditor that we patched on time?
Three artifacts: (1) the change management ticket with the timestamp of the maintenance window, (2) the vuln scanner report showing the CVE as "fixed" after the window, and (3) the OS-level verification output from the section above. I usually screenshot all three into the same PDF and attach it to the asset's record in the CMDB. The auditor wants documentation, not a story.
What is the cost difference between patching now and patching later?
Patch now: Rs 6,000-40,000 in IR engineer time depending on fleet size, almost always zero downtime if planned correctly. Patch later, after a breach: Rs 35-50 crore all-in for a BFSI breach in India per the IBM 2024 report and adjacent local numbers, plus the CERT-In reporting load, plus the RBI inspection findings, plus the customer trust hit that does not show up on the spreadsheet. The math is not close.
Does WAF or EDR replace the patch?
No. WAF and EDR are compensating controls, not replacements. They reduce risk in the window between disclosure and patch, and they are useful when a patch is unavailable or cannot be applied immediately. But the only thing that closes the underlying vulnerability is the vendor patch.
Should I disclose this CVE to my customers?
If you have customer data on the affected system and you have evidence of exploitation, the DPDP Act notification obligation applies. If you patched cleanly with no evidence of exploitation, most legal teams I work with treat this as routine maintenance and do not push a customer notification. Talk to your legal counsel; do not freelance this decision.