CVE-2026-102139
Executive Summary
CVE-2026-102139 is an authorization bypass vulnerability (CWE-639) in the large file exchange feature of the Kiteworks Email Protection Gateway, where the application fails to verify that a requesting user is a legitimate participant in the package being accessed. An authenticated user of this optional feature can read the subject line, message body, and attachments of packages they neither sent nor received, resulting in unauthorized access to potentially sensitive file exchange communications. With a CVSS base score of 6.5 and no patch currently available, organizations running the affected optional feature should treat this as an active confidentiality risk requiring compensating controls.
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
The vulnerability is classified as CWE-639: Authorization Bypass Through User-Controlled Key, a class of access control flaw in which an application trusts an object identifier (or similar user-supplied reference) to determine which resource is returned, without binding that resource to the authenticated identity of the requester. In this instance, the Email Protection Gateway's large file exchange feature — an optional component that allows users to send and receive large files that would otherwise be blocked by email attachment size limits — performs an authorization check that "did not correctly establish that the requesting user was a party to the package being requested."
Concretely, the description states that the check fails to confirm a relationship between the requesting user and the package: the user must have either sent or received the package to legitimately access it, but the implemented check does not enforce this. As a result, any authenticated user of the feature can enumerate or reference packages belonging to other users and retrieve their contents — specifically the subject, message body, and attachments.
The attack surface is the large file exchange feature of Kiteworks Email Protection Gateway (an optional deployment component). The vulnerability is network-reachable (AV:N), requires low privileges in the form of an authenticated account on the feature (PR:L), needs no user interaction (UI:N), and is scoped to the vulnerable component (S:U). Its impact is entirely to confidentiality (C:H, I:N, A:N), consistent with a read-only cross-tenant/cross-user data exposure.
Per the NVD description and given data, no specific function names, parameters, API endpoints, or file paths are disclosed. The underlying mechanism should be understood at the vulnerability-class level: the package identity or its reference is used as the authorization key, and the application fails to validate that the authenticated principal is a party (sender or recipient) to that package before serving its contents. No public proof-of-concept, exploit code, or Nuclei template exists for this CVE.
Because the missing control is server-side object-level authorization rather than a cryptographic or memory-safety issue, the flaw is deterministic and reliably reproducible once an attacker has a valid account and can reference another user's package identifier. There is no evidence in the provided data of a patch, so the vulnerable code path presumably remains present in currently deployed versions.
Exploitation Scenarios
No public PoC is available; the attack chain described below is inferred from the vulnerability class (CWE-639) and the NVD description only.
Reconnaissance / target identification: The attacker identifies an internet-facing or internally reachable Kiteworks Email Protection Gateway instance that has the optional large file exchange feature enabled. The attacker must possess valid low-privileged credentials for that feature, since the flaw requires authentication (PR:L).
Triggering the flaw: While authenticated, the attacker supplies or manipulates the reference identifying a large file exchange package. Because the authorization check does not confirm that the attacker is a party to the package (neither sender nor recipient), the server returns the package rather than denying the request. In a CWE-639 pattern, this is typically performed by changing an object identifier to a value not belonging to the attacker.
Payload/execution method: No malicious payload, code execution, or injection is required — this is a direct object reference / broken object-level authorization condition. The "exploit" is simply a well-formed authenticated request referencing another user's package. No specific endpoints or parameter names are published in the available intelligence, so they are not enumerated here.
Post-exploitation impact: The attacker can read the subject, message body, and attachments of packages they did not send and did not receive. This yields unauthorized access to confidential file-exchange content. The attacker could systematically iterate across package references to harvest data at scale (data aggregation / mass exfiltration of attachments). No integrity or availability impact is described, so this is a pure confidentiality compromise. Whether packages can be enumerated sequentially versus requiring knowledge of valid identifiers is not stated in the available data.
Impact Assessment
The CVSS v3.1 base score is 6.5 (Medium), with vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N.
Subscore interpretation:
- Attack Vector (Network): the flaw is reachable over the network against the Email Protection Gateway service.
- Attack Complexity (Low): no special conditions or race conditions are required; the authorization check simply does not enforce the required relationship.
- Privileges Required (Low): the attacker needs a valid authenticated account on the optional large file exchange feature.
- User Interaction (None): no victim action is necessary.
- Scope (Unchanged): impact is confined to the vulnerable component.
- Confidentiality (High): subject, body, and attachments of other users' packages may be fully disclosed.
- Integrity (None) and Availability (None): no modification or denial-of-service impact described.
Business impact centers on exposure of sensitive communications and file contents that users reasonably expected to be private to sender and recipient. Because large file exchange is often used to transmit documents too large for normal email — contracts, datasets, design files, legal and HR material — the blast radius can include regulated or confidential data (PII, PHI, IP, financial records). This is a cross-user/cross-party authorization failure, so in multi-tenant or multi-department deployments it may cross organizational boundaries. The authenticated-but-low-privilege requirement limits unauthenticated mass exploitation but does not mitigate the risk from malicious insiders, compromised low-privilege accounts, or credential-stuffing campaigns followed by lateral data access. Regulatory exposure (GDPR, HIPAA, CCPA, and similar) may follow if such packages contain protected data.
Detection Guidance
Sigma Rule
title: Kiteworks Email Protection Gateway Large File Exchange Unauthorized Package Access (CVE-2026-102139)
id: 8f7a1c60-1021-4c39-9b15-0000000102139
status: experimental
description: Detects potential exploitation of CVE-2026-102139 where an authenticated user accesses large file exchange packages they are not a party to, indicating broken object-level authorization.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-102139
author: Valters IT Threat Intelligence
date: 2026/01/01
logsource:
product: kiteworks
service: email_protection_gateway
detection:
selection:
event_action:
- 'package_view'
- 'package_download'
- 'attachment_download'
filter_legit:
user_is_party: 'true'
condition: selection and not filter_legit
falsepositives:
- Administrative or support accounts with legitimate delegated access
- Misconfigured party-relationship metadata producing false denials of legitimacy
level: high
tags:
- attack.t1213
- cve.2026.102139
- cwe.639
YARA Rule
rule CVE_2026_102139_Kiteworks_LFE_AuthBypass
{
meta:
description = "Detects references to the Kiteworks Email Protection Gateway large file exchange authorization bypass (CVE-2026-102139)"
author = "Valters IT Threat Intelligence"
date = "2026-01-01"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-102139"
cwe = "CWE-639"
severity = "medium"
strings:
$cve = "CVE-2026-102139" ascii wide nocase
$p1 = "large file exchange" ascii wide nocase
$p2 = "Email Protection Gateway" ascii wide nocase
$a1 = "package_id" ascii wide nocase
$a2 = "package-view" ascii wide nocase
$auth = "authorization" ascii wide nocase
condition:
$cve or (($p1 or $p2) and $auth and 1 of ($a*))
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-102139 Kiteworks Email Protection Gateway Large File Exchange Authorization Bypass Attempt"; flow:established,to_server; http.method; content:"GET"; http.uri; content:"package"; nocase; http.uri; content:"download"; nocase; http.header; content:"Authorization"; nocase; classtype:attempted-user; reference:cve,2026-102139; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-102139; metadata:affected_product Kiteworks_Email_Protection_Gateway, attack_target Server, deployment Perimeter, signature_severity Major, created_at 2026_01_01; sid:2026102139; rev:1;)
Elastic Detection
sequence by user.name with maxspan=10m
[ authentication where event.action == "logon" and event.outcome == "success" ]
[ network where event.action in ("package_view", "package_download", "attachment_download") and
url.path : "*package*" and not user.is_party == true ]
Splunk SPL Query
index=kiteworks sourcetype="kiteworks:epg"
| search event_action IN ("package_view","package_download","attachment_download")
| where user_is_party="false" OR isnull(user_is_party)
| stats count min(_time) as first_seen max(_time) as last_seen values(src_ip) as source_ips by user, package_id
| where count > 0
| sort - count
| convert ctime(first_seen) ctime(last_seen)
Wazuh OSSEC Rule
<group name="kiteworks,cve-2026-102139,">
<rule id="102139" level="10">
<decoded_as>json</decoded_as>
<field name="event_action">package_view|package_download|attachment_download</field>
<field name="user_is_party">false</field>
<description>CVE-2026-102139: Kiteworks Email Protection Gateway large file exchange package accessed by non-party user (possible authorization bypass)</description>
<mitre>
<id>T1213</id>
</mitre>
<group>authorization_bypass,gdpr_art_32,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).
- Immediate mitigations:
- If the large file exchange feature is not business-critical, disable it to eliminate the attack surface entirely.
- Restrict access to the feature to the smallest possible set of trusted accounts, reducing the pool of authenticated users who can exercise PR:L.
- Enforce strong, phishing-resistant MFA and monitor for credential stuffing, since the flaw requires a valid account.
- Apply network-level restrictions (IP allow-listing, VPN) to the Email Protection Gateway management/exchange interfaces where feasible.
- Add compensating detective controls (rules above) since preventive technical fixes are unavailable; treat alerts of non-party package access as potential exploitation.
- Patch/upgrade steps:
- No vendor patch is currently available per tracked sources. Monitor the Kiteworks security advisory channel and NVD entry for CVE-2026-102139 for an official fix and affected-version disclosure.
- Upon release, prioritize upgrade of the Email Protection Gateway and its large file exchange feature; validate that the authorization check now enforces that the requesting user is a party (sender or recipient) to the package.
- Because no patch reference exists, do not assume any currently available version is fixed.
- Long-term hardening:
- Adopt object-level authorization (BOLA) testing in the SDLC for all resource-serving endpoints, specifically validating that resource ownership/participation is enforced server-side on every request.
- Implement centralized authorization middleware for package access that binds package identity to the authenticated principal rather than trusting a user-supplied reference.
- Log and alert on all package access events including the accessing user, package identifier, and party-relationship status to enable reliable detection and forensics.
- Maintain an inventory of optional/edge features and reduce attack surface by disabling unused components.
References
- NVD — CVE-2026-102139: https://nvd.nist.gov/vuln/detail/CVE-2026-102139
- MITRE CWE-639 — Authorization Bypass Through User-Controlled Key: https://cwe.mitre.org/data/definitions/639.html
- MITRE ATT&CK T1213 — Data from Information Repositories: https://attack.mitre.org/techniques/T1213/
- Kiteworks Security Advisories (vendor advisory to be monitored; no public advisory confirmed in provided data): https://www.kiteworks.com/security/
- FIRST EPSS (no score available at time of writing): https://www.first.org/epss/
No CISA KEV listing, threat actor campaign, or exploit-in-the-wild evidence is associated with CVE-2026-102139 in the data provided. No public PoC, exploit code, or Nuclei template exists.
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.