CVE-2026-102118
Executive Summary
CVE-2026-102118 is a local privilege escalation vulnerability in the Kiteworks secure file transfer and content governance appliance, classified under CWE-59 (Improper Link Resolution Before File Access, commonly known as "link following"). An attacker who has already obtained a low-privileged shell on the appliance — under a non-root service account — can exploit improper link resolution to escalate to root privileges. The vulnerability carries a CVSS v3.1 base score of 7.8 (High) and, as of this writing, has no public PoC, no Nuclei template, no known in-the-wild exploitation evidence, and no available patch, leaving affected organizations reliant on compensating controls until a vendor fix is released.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
CWE-59 describes a class of flaws in which software follows symbolic links (symlinks) or other link-like indirection without validating the target's identity, location, or trustworthiness prior to performing a file operation. In the context of Kiteworks, an on-premises or hosted enterprise appliance that typically runs multiple components under distinct service accounts (web, application, database, and system-level daemons), the practical consequence is a local privilege boundary violation. A low-privileged service account that can influence or write to a path consumed by a higher-privileged process running as root may be able to redirect a file access operation to an attacker-controlled target via a crafted link.
The precise vulnerable component, function, or file path is not specified in the supplied NVD description, and no CNA title was provided. Consequently, this report does not assert any specific function names, filenames, or API endpoints. What can be stated with confidence, derived strictly from the CWE classification and the NVD narrative, is the following:
- The attack requires a pre-existing local foothold. The CVSS vector (
AV:L,PR:L) indicates the attacker must already possess local access and low privileges. This is not a remote or unauthenticated vulnerability. - The vulnerability is a link-resolution/validation failure, not a memory-safety flaw. The
C:H/I:H/A:Hsubscores indicate full loss of confidentiality, integrity, and availability at the root level, consistent with a successful jump to the root account on an appliance that stores and processes sensitive enterprise content. - The
AC:LandUI:Nvalues indicate the flaw is reliably triggerable without user interaction once local access exists — typical of symlink-following issues, which succeed deterministically when the attacker controls the link target and the privileged process performs a predictable file access. - Scope is
S:U(Unchanged), meaning the impact remains within the appliance's security authority — the vulnerability escalates privilege within the same host rather than pivoting across an isolation boundary.
Because no patch, PoC, or advisory detail has been published, the exploit path cannot be further decomposed without speculative invention. Analysts should treat the class-level mechanism (link following by a root-privileged process acting on an attacker-influenced path) as the working model pending vendor disclosure.
Exploitation Scenarios
The attack chain below is described at the vulnerability-class level. No public PoC exists; the chain is inferred from the CWE-59 classification and the NVD description.
Reconnaissance / target identification. The attacker identifies a Kiteworks appliance, either externally (via exposed web interfaces and fingerprinting) or internally. Reconnaissance in this phase is largely about locating a route to a low-privileged shell — for example, a separate remotely exploitable flaw, a leaked or weak service-account credential, or an existing compromised integration account. CVE-2026-102118 itself does not provide the initial foothold; it is a second-stage escalation primitive.
Foothold establishment. The attacker obtains command execution as a low-privileged service account on the appliance. The CVSS
PR:Lvalue confirms the exploit expects this precondition; no privilege escalation is possible without it.Triggering the link-following condition. From the low-privileged context, the attacker interacts with a filesystem location or resource that a root-privileged process later resolves or accesses. Per CWE-59, the flaw is that the privileged component fails to verify that the path it is operating on is the legitimate file and not a link to an attacker-chosen target. The attacker causes the privileged process to follow the link — the exact interface (scheduled task, log rotation, temp-file handling, content processing, or similar) is not documented and must not be assumed.
Execution and post-exploitation impact. Once the root process follows the link, the outcome is arbitrary privileged file access or modification in the context of root. Given the CVSS impact subscores (
C:H/I:H/A:H), a successful exploit yields a full root compromise of the appliance: read/write access to all stored enterprise content, credential material, and configuration, and the ability to modify or disable the platform. On a secure file transfer and governance platform, this is a high-severity outcome because the appliance often aggregates regulated data and trusts relationships with downstream systems.
Assessed exploitation prerequisites: local shell as a low-privileged service account, no user interaction, low attack complexity. No public tooling, Nuclei template, or exploit code has been observed.
Impact Assessment
Successful exploitation grants an attacker root-level control of the Kiteworks appliance. The CVSS v3.1 vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H yields a base score of 7.8 (High). The subscore breakdown:
- Confidentiality: High — root access exposes all content, keys, tokens, and configuration stored on the appliance.
- Integrity: High — an attacker can modify files, configurations, and potentially persisted content, undermining the integrity guarantees of a governance platform.
- Availability: High — root permits service termination, data destruction, or ransomware-style impact.
Blast radius. The vulnerability is confined to the compromised appliance (S:U), but a Kiteworks appliance frequently sits at a trust nexus for enterprise file exchange, with visibility into business partners, internal repositories, and integration credentials. Root compromise therefore presents onward movement and data-exfiltration risk disproportionate to a single host. Organizations running Kiteworks in regulated or high-value environments should treat this as a priority for compensating controls, particularly where low-privileged footholds are plausible (exposed services, shared service accounts, third-party integrations).
Detection Guidance
Sigma Rule
title: Potential Local Privilege Escalation via Link Following on Kiteworks Appliance
id: 7f4c1a2e-9d3b-4c8a-b6a1-kiteworks-lpe-cve2026102118
status: experimental
description: Detects suspicious symlink creation or privileged file access patterns consistent with CWE-59 exploitation attempt on a Kiteworks appliance.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-102118
author: valtersit.com
date: 2026-01-01
logsource:
product: linux
service: auditd
detection:
selection_symlink:
type: 'SYMLINK'
selection_priv_actor:
exe|endswith:
- '/kiteworks'
filter_known:
uid: 0
condition: selection_symlink and selection_priv_actor and not filter_known
falsepositives:
- Legitimate administrative symlink management
- Package installation and update routines
level: high
tags:
- attack.privilege_escalation
- attack.t1068
- cve.2026.102118
YARA Rule
rule CVE_2026_102118_Kiteworks_LPE_Symlink_Artifact
{
meta:
description = "Detects suspicious payload or artifact files associated with link-following privilege escalation targeting Kiteworks"
author = "valtersit.com"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-102118"
date = "2026-01-01"
severity = "high"
strings:
$s1 = "/tmp/" ascii
$s2 = "ln -s" ascii
$s3 = "chmod 4755" ascii
$s4 = "chown root" ascii
$s5 = "kiteworks" ascii nocase
$s6 = "setuid" ascii nocase
condition:
uint32(0) == 0x464c457f and
filesize < 2MB and
(2 of ($s1, $s2, $s3, $s4, $s6)) and
$s5
}
Suricata IDS Rule
alert tcp $HOME_NET any -> $HOME_NET any (msg:"CVE-2026-102118 Kiteworks Potential LPE - Suspicious Symlink Command in Session"; flow:established,to_server; content:"ln -s"; nocase; content:"/tmp/"; nocase; distance:0; classtype:attempted-admin; reference:cve,2026-102118; sid:2026102118; rev:1;)
Elastic Detection
process where host.os.type == "linux" and event.action == "executed" and
process.name in ("ln", "cp", "mv", "chmod", "chown") and
process.args : ("-s", "4755", "root") and
process.args : ("/tmp/*", "/var/tmp/*") and
process.parent.name : ("kiteworks", "kw*")
Splunk SPL Query
index=linux sourcetype=auditd OR sourcetype=syslog
(process="ln" OR command="*ln -s*" OR command="*chmod 4755*" OR command="*chown root*")
AND (command="*/tmp/*" OR command="*kiteworks*")
| stats count min(_time) as first_seen max(_time) as last_seen values(command) as commands by host, user
| where count > 0
| eval first_seen=strftime(first_seen,"%Y-%m-%d %H:%M:%S"), last_seen=strftime(last_seen,"%Y-%m-%d %H:%M:%S")
Wazuh OSSEC Rule
<group name="kiteworks,cve-2026-102118,">
<rule id="2026118" level="12">
<decoded_as>auditd</decoded_as>
<field name="audit.type">SYSCALL</field>
<field name="audit.syscall">symlink</field>
<description>CVE-2026-102118: Potential symlink creation consistent with Kiteworks local privilege escalation attempt</description>
<mitre>
<id>T1068</id>
</mitre>
<group>privilege_escalation,</group>
</rule>
<rule id="2026119" level="10">
<if_sid>2026118</if_sid>
<field name="audit.exe">/tmp</field>
<description>CVE-2026-102118: Symlink operation originating from world-writable path on Kiteworks appliance</description>
<group>privilege_escalation,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 — UNPATCHED. No patch, vendor fix, or workaround is available from any tracked source. No affected version range has been published. The following guidance is compensating-control and hardening-oriented.
1) Immediate mitigations.
- Reduce the attack surface for the required precondition: audit why any user or integration holds a low-privileged shell on the appliance and eliminate standing shell access wherever possible.
- Enforce least privilege on service accounts; restrict and monitor shell access to appliance accounts.
- Constrain write access to shared and temporary paths (e.g.,
/tmp,/var/tmp) that privileged processes may traverse, and mount such paths withnosuid/nodevwhere operationally safe. - Harden against symlink races at the OS level where feasible (protected symlinks, restricted sticky-bit directories).
- Increase monitoring for local privilege escalation indicators (symlink creation, setuid changes, privileged process file access) and alert aggressively.
2) Patch/upgrade steps.
- No patch exists in the supplied data. Monitor the Kiteworks security advisory channel and the NVD entry for CVE-2026-102118.
- When a vendor fix is published, validate the affected version range, stage the upgrade in a non-production environment, and apply on an accelerated timeline given the High severity and full root impact.
- Maintain an inventory of Kiteworks appliances and versions so patch response can be immediate.
3) Long-term hardening.
- Adopt a vulnerability management process that tracks appliance CVEs with defined SLAs for High-severity local privilege escalation issues.
- Enforce privilege separation so that no single low-privileged account compromise yields a path to root-relevant file operations.
- Apply defense-in-depth: EDR/auditd coverage for link-following behavior, immutable/verified content stores, and periodic privilege and configuration reviews.
- Reduce reliance on shared service accounts and rotate credentials for integration accounts regularly.
References
- NVD — CVE-2026-102118: https://nvd.nist.gov/vuln/detail/CVE-2026-102118
- CWE-59: Improper Link Resolution Before File Access ('Link Following'): https://cwe.mitre.org/data/definitions/59.html
- MITRE ATT&CK T1068 — Exploitation for Privilege Escalation: https://attack.mitre.org/techniques/T1068/
- Kiteworks Security Advisories (monitor for vendor fix): https://www.kiteworks.com/security/
- CISA Known Exploited Vulnerabilities Catalog (verify status; not currently listed per supplied data): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
No public PoC, exploit code, Nuclei template, or evidence of in-the-wild exploitation or named threat-actor campaigns associated with CVE-2026-102118 was identified in the supplied data.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.