☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 8.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H 🐛 CWE-59
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2022-39215

CVE-2022-39215 — The readDir Endpoint Scope can be Bypassed With Symbolic Links in Tauri
📅 PUBLISHED: 2022-09-15 00:00 UTC 🔄 UPDATED: 2026-09-23 20:15 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 1.00%
👁️
1.00% probability
24.9× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1083
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Patch available — upgrade to latest release
CVSS VECTOR BREAKDOWN 8.3
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: C Scope Changed
C: H Confidentiality High
I: H Integrity High
A: H Availability High
8.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2022-39215 affects the Tauri application framework (versions prior to 1.0.6), which is used to build cross-platform desktop binaries. The vulnerability allows a local attacker to bypass the filesystem scope restrictions of the readDir endpoint by placing a crafted symbolic link or junction folder inside an allowed path within the fs scope, thereby enabling unauthorized directory listings of arbitrary locations on the host filesystem. The vulnerability is classified as high severity (CVSS 8.3) and was resolved in Tauri 1.0.6 by implementing proper canonicalization and symlink checks before listing directories.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The readDir endpoint in Tauri is designed to expose directory listing functionality to the frontend/webview component of an application, but only within a sandboxed set of directories defined by the fs scope configuration in tauri.conf.json. The scope is intended to prevent the application's frontend from reading arbitrary filesystem directories on the user's machine.

The flaw stems from the lack of proper path canonicalization when the readDir endpoint is invoked with the recursive flag (i.e., scanning a directory and all its subdirectories). The implementation validates whether the starting directory is within the allowed scope, but does not re-validate each subdirectory encountered during recursive traversal. This creates a classic "link following" vulnerability (CWE-59): if an attacker can place a symbolic link (on Unix/Linux/macOS) or a junction point (on Windows) inside an allowed directory, the recursive traversal will silently follow that link and enumerate the contents of directories outside the fs scope.

The attack surface is local and requires low privilege: the attacker must be able to create files or directories (or convince the user to do so) inside a path that the Tauri application is permitted to list. The impact is limited to directory listing disclosure — no arbitrary file content can be read through this flaw, only names and directory structures are exposed. However, this still leaks sensitive information about the host system's layout and file organization.

The patched version (1.0.6) resolves the issue by canonicalizing requested paths and checking whether any subdirectory encountered during traversal is a symbolic link that points outside the allowed scope; if so, it is excluded from the listing.

Exploitation Scenarios

Step 1 — Reconnaissance/Preparation: An attacker with local access to the target system identifies a Tauri application using a version < 1.0.6 that exposes the readDir endpoint to its webview. The attacker determines which directories are in the application's fs scope (e.g., $HOME/Documents or an application-specific data folder) by inspecting the frontend code, configuration files, or via trial-and-error probing of the endpoint.

Step 2 — Trigger Mechanism: The attacker creates a symbolic link within an allowed directory: for example, inside the scoped Documents folder, they create a symlink (Unix: ln -s /etc /home/user/Documents/secret_links) pointing to a sensitive out-of-scope directory (e.g., /etc, C:\Windows\System32, or another user's home directory). On Windows, a junction folder (NTFS junction point) could be used.

Step 3 — Exploitation Execution: The attacker invokes the application's readDir endpoint (via the webview's JavaScript interface, using the Tauri API) with the recursive flag set to true on the allowed root directory. The vulnerable implementation does not resolve the symlink before recursing into it; it simply follows the link and enumerates the contents of the target directory, returning the listing (directory names and file names) to the frontend, which then transmits it to the attacker-controlled page or is otherwise accessible.

Step 4 — Post-Exploitation Impact: The attacker obtains a directory listing of the out-of-scope path, revealing sensitive information such as system configuration paths, usernames, application names, or the layout of other users' files. This information can be used to further refine attacks — for example, identifying target files for subsequent data exfiltration attempts (if other endpoints have read capabilities) or mapping the system for lateral movement. No file contents are directly leaked.

No public PoC is available for this CVE; the attack chain is inferred from the vulnerability class (path traversal via symlink bypass of scope validation) and the NVD description.

Impact Assessment

Business Impact: Medium to High. The vulnerability requires local access and a low-privilege position, but it undermines the security boundary of a Tauri application. The confidentiality impact is moderate (directory listings of arbitrary paths), but in the CVSS vector this maps to a High confidentiality impact, likely due to the potential exposure of sensitive system metadata and the fact that this is only one hop away from other filesystem read primitives in Tauri's API surface.

Affected Systems: Any desktop application built with Tauri < 1.0.6 that enables and exposes the readDir endpoint via the fs allowlist. This includes Linux, macOS, and Windows builds.

CVSS Reference: The CVSS 8.3 score reflects a High severity. The vector (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H) indicates: Local attack vector, Low attack complexity, Low privileges required, No user interaction, Changed scope (the vulnerability affects resources beyond the vulnerable component's security scope), and High impact across confidentiality, integrity, and availability. The High integrity/availability impacts suggest the issue could be chained with other Tauri endpoints to achieve broader modification or denial-of-service effects beyond simple listing leakage.

Blast Radius: The vulnerability affects any user of the vulnerable application. The enterprise risk is moderate: a malicious insider or a malware sample already resident on a user's machine could use this flaw to map the filesystem and enumerate sensitive directories, facilitating further attacks. The low EPSS score (0.008) suggests limited active exploitation in the wild.

Detection Guidance

Sigma Rule

title: Tauri readDir Symlink Scope Bypass Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects attempts to list directories outside the fs scope via symlink traversal in Tauri applications (CVE-2022-39215)
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2022-39215
author: valtersit.com
date: 2024/01/01
logsource:
    product: linux
    service: auditd
detection:
    selection_path:
        type: SYSCALL
        syscall: getdents
    selection_symlink:
        type: SYSCALL
        syscall: readlink
        success: true
    condition: selection_path and selection_symlink
falsepositives:
    - Legitimate recursive directory scanning by the application on allowed paths
level: medium

YARA Rule

rule Detect_Tauri_Symlink_Traversal_Code
{
    meta:
        author = "valtersit.com"
        description = "Detects likely Tauri application code patterns vulnerable to readDir symlink scope bypass (CVE-2022-39215)"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2022-39215"
        date = "2024-01-01"
    strings:
        $a = "readDir" ascii wide
        $b = "readDirRecursive" ascii wide
        $c = "symbolic_link" ascii wide
        $d = "junction" ascii wide
        $e = "allowlist" ascii wide
        $f = "fs" ascii wide
    condition:
        uint16(0) == 0x5A4D and all of them and file_size < 5MB
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2022-39215 - Tauri readDir Symlink Scope Bypass Attempt"; flow:established,to_server; content:"readDir"; http_uri; content:"recursive"; distance:0; http_uri; content:"symlink"; distance:0; http_uri; classtype:attempted-recon; sid:202239215; rev:1; reference:cve,2022-39215;)

Elastic Detection

ANY WHERE
  process.name : "*.exe" OR process.name : "*app*"
  OR
  process.name : "tauri*"
  AND process.command_line : "*readDir*"
  AND process.command_line : "*recursive*"
  AND process.command_line : "*symlink*"

Splunk SPL Query

index=filesystem_monitor sourcetype=linux_audit OR sourcetype=WinEventLog
  (process_name=*app* OR process_name=*tauri*)
  AND (action=getdents OR action=NTFS_read)
  AND path=*/
  | stats count by host, process_name, path
  | where count > 100

Wazuh OSSEC Rule

<group name="tauri_cve,">
  <rule id="100101" level="8">
    <if_sid>550</if_sid>
    <match>readDir</match>
    <regex>recursive</regex>
    <description>Tauri readDir symlink scope bypass attempt detected (CVE-2022-39215)</description>
    <group>syscall,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED — no patch evidence is available from any tracked source, despite the vendor having released version 1.0.6. This discrepancy suggests the reporting pipeline has not correlated the fix with this CVE. Treat any Tauri version prior to 1.0.6 as fully vulnerable.

1) Immediate Mitigations (if upgrade is not possible):

  • Disable the readDir endpoint entirely by removing it from the allowlist in tauri.conf.json. This is the vendor-recommended workaround.
  • Restrict the fs scope to the narrowest possible set of directories.
  • If readDir must remain enabled, modify the scope to exclude writable directories where low-privilege users (or untrusted content) could plant a symlink or junction.

2) Patch / Upgrade Steps:

  • Upgrade Tauri to version 1.0.6 or later, which implements path canonicalization and per-directory symlink validation when readDir is invoked recursively.
  • Rebuild all application binaries with the patched framework version and redistribute them to end users.
  • Verify that the application's dependency lockfiles (Cargo.lock for Rust-based tooling) reference Tauri >= 1.0.6.

3) Long-Term Hardening:

  • Adopt the principle of least privilege for the fs allowlist: only expose directories that are strictly necessary for application functionality.
  • Implement runtime monitoring for recursive directory listings that traverse beyond expected root paths.
  • Enforce filesystem-level access controls (ACLs) on directories visible to the application to prevent untrusted users from creating symlinks or junctions in the first place.
  • Subscribe to the Tauri GitHub advisory feed or the project's release notes to be notified of future security advisories.
  • If the application processes untrusted archive files or downloads, consider extracting them to dedicated sandbox directories that are excluded from the fs scope.

References

Threat Actor Campaigns / Exploit-in-the-Wild Evidence: No known threat actor campaigns are associated with this CVE. The EPSS score of 0.00802 (53.2% percentile) indicates a very low probability of exploitation in the wild. No public PoC or exploit code has been published. As of the data provided, this vulnerability has not been added to CISA's Known Exploited Vulnerabilities (KEV) catalog.

👁️ SHODAN DORKS (THREAT HUNTING)

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.

app.name:"tauri"
http.title:"Tauri"
http.favicon.hash:tauri
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2022-39215/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.