CWE-59
AllowedImproper Link Resolution Before File Access ('Link Following')
Abstraction: Base · Status: Draft
The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.
2244 vulnerabilities reference this CWE, most recent first.
GHSA-MJR6-7M42-XGPP
Vulnerability from github – Published: 2022-05-24 17:47 – Updated: 2022-05-24 17:47Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability This CVE ID is unique from CVE-2021-28313, CVE-2021-28322.
{
"affected": [],
"aliases": [
"CVE-2021-28321"
],
"database_specific": {
"cwe_ids": [
"CWE-269",
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-04-13T20:15:00Z",
"severity": "HIGH"
},
"details": "Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability This CVE ID is unique from CVE-2021-28313, CVE-2021-28322.",
"id": "GHSA-mjr6-7m42-xgpp",
"modified": "2022-05-24T17:47:20Z",
"published": "2022-05-24T17:47:20Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-28321"
},
{
"type": "WEB",
"url": "https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2021-28321"
},
{
"type": "WEB",
"url": "http://packetstormsecurity.com/files/162251/Microsoft-DiagHub-Privilege-Escalation.html"
},
{
"type": "WEB",
"url": "http://seclists.org/fulldisclosure/2021/Apr/40"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-MJWG-G73C-X345
Vulnerability from github – Published: 2022-05-17 05:45 – Updated: 2022-05-17 05:45The default configuration of libsdp.conf in libsdp 1.1.104 and earlier creates log files in /tmp, which allows local users to overwrite arbitrary files via a (1) symlink or (2) hard link attack on the libsdp.log.##### temporary file.
{
"affected": [],
"aliases": [
"CVE-2010-4173"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2010-11-22T20:00:00Z",
"severity": "LOW"
},
"details": "The default configuration of libsdp.conf in libsdp 1.1.104 and earlier creates log files in /tmp, which allows local users to overwrite arbitrary files via a (1) symlink or (2) hard link attack on the libsdp.log.##### temporary file.",
"id": "GHSA-mjwg-g73c-x345",
"modified": "2022-05-17T05:45:54Z",
"published": "2022-05-17T05:45:54Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2010-4173"
},
{
"type": "WEB",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=647941"
},
{
"type": "WEB",
"url": "http://www.openfabrics.org/downloads/libsdp/libsdp-1.1.105-0.4.g1b9b996.tar.gz"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2010/11/16/2"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2010/11/16/7"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-MM9P-GQVV-GR69
Vulnerability from github – Published: 2024-12-30 21:30 – Updated: 2024-12-30 21:30Panda Security Dome Link Following Local Privilege Escalation Vulnerability. This vulnerability allows local attackers to escalate privileges on affected installations of Panda Security Dome. An attacker must first obtain the ability to execute low-privileged code on the target system in order to exploit this vulnerability.
The specific flaw exists within the Hotspot Shield. By creating a junction, an attacker can abuse the application to delete arbitrary files. An attacker can leverage this vulnerability to escalate privileges and execute arbitrary code in the context of SYSTEM. Was ZDI-CAN-23478.
{
"affected": [],
"aliases": [
"CVE-2024-13043"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-12-30T21:15:06Z",
"severity": "HIGH"
},
"details": "Panda Security Dome Link Following Local Privilege Escalation Vulnerability. This vulnerability allows local attackers to escalate privileges on affected installations of Panda Security Dome. An attacker must first obtain the ability to execute low-privileged code on the target system in order to exploit this vulnerability.\n\nThe specific flaw exists within the Hotspot Shield. By creating a junction, an attacker can abuse the application to delete arbitrary files. An attacker can leverage this vulnerability to escalate privileges and execute arbitrary code in the context of SYSTEM. Was ZDI-CAN-23478.",
"id": "GHSA-mm9p-gqvv-gr69",
"modified": "2024-12-30T21:30:47Z",
"published": "2024-12-30T21:30:47Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-13043"
},
{
"type": "WEB",
"url": "https://www.zerodayinitiative.com/advisories/ZDI-24-1727"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-MM9Q-52P2-75V2
Vulnerability from github – Published: 2024-11-22 21:32 – Updated: 2024-11-22 21:32Malwarebytes Antimalware Link Following Local Privilege Escalation Vulnerability. This vulnerability allows local attackers to escalate privileges on affected installations of Malwarebytes Antimalware. An attacker must first obtain the ability to execute low-privileged code on the target system in order to exploit this vulnerability.
The specific flaw exists within the Malwarebytes service. By creating a symbolic link, an attacker can abuse the service to delete a file. An attacker can leverage this vulnerability to escalate privileges and execute arbitrary code in the context of SYSTEM. Was ZDI-CAN-22321.
{
"affected": [],
"aliases": [
"CVE-2024-6260"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-11-22T20:15:12Z",
"severity": "HIGH"
},
"details": "Malwarebytes Antimalware Link Following Local Privilege Escalation Vulnerability. This vulnerability allows local attackers to escalate privileges on affected installations of Malwarebytes Antimalware. An attacker must first obtain the ability to execute low-privileged code on the target system in order to exploit this vulnerability.\n\nThe specific flaw exists within the Malwarebytes service. By creating a symbolic link, an attacker can abuse the service to delete a file. An attacker can leverage this vulnerability to escalate privileges and execute arbitrary code in the context of SYSTEM. Was ZDI-CAN-22321.",
"id": "GHSA-mm9q-52p2-75v2",
"modified": "2024-11-22T21:32:17Z",
"published": "2024-11-22T21:32:17Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-6260"
},
{
"type": "WEB",
"url": "https://www.malwarebytes.com/secure/cves"
},
{
"type": "WEB",
"url": "https://www.zerodayinitiative.com/advisories/ZDI-24-1195"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-MM9X-PR4P-52P6
Vulnerability from github – Published: 2022-05-02 03:56 – Updated: 2022-05-02 03:56Firewall Builder 3.0.4, 3.0.5, and 3.0.6, when running on Linux, allows local users to gain privileges via a symlink attack on an unspecified temporary file that is created by the iptables script.
{
"affected": [],
"aliases": [
"CVE-2009-4664"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2010-03-03T20:30:00Z",
"severity": "LOW"
},
"details": "Firewall Builder 3.0.4, 3.0.5, and 3.0.6, when running on Linux, allows local users to gain privileges via a symlink attack on an unspecified temporary file that is created by the iptables script.",
"id": "GHSA-mm9x-pr4p-52p6",
"modified": "2022-05-02T03:56:58Z",
"published": "2022-05-02T03:56:58Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2009-4664"
},
{
"type": "WEB",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=524588"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/53392"
},
{
"type": "WEB",
"url": "http://blog.fwbuilder.org/2009/09/firewall-builder-v307-released.html"
},
{
"type": "WEB",
"url": "http://lists.fedoraproject.org/pipermail/package-announce/2010-February/035112.html"
},
{
"type": "WEB",
"url": "http://osvdb.org/58247"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/36809"
},
{
"type": "WEB",
"url": "http://www.fwbuilder.org/docs/firewall_builder_release_notes.html#3.0.7"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/36468"
},
{
"type": "WEB",
"url": "http://www.vupen.com/english/advisories/2010/0389"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-MMG6-4QMV-6PC8
Vulnerability from github – Published: 2026-09-08 18:14 – Updated: 2026-09-08 18:14Impact
Path traversal via link following in the Infracost config-template parser. The readFile, pathExists, isDir, and matchPaths template functions confined repo-supplied paths with a lexical filepath.Rel check plus a leaf-only os.Lstat:
{{ readFile "evil/file" }}
With an intermediate directory symlink committed in the repo (evil -> /), the path is lexically clean and the leaf is a regular file, so both checks pass, but os.ReadFile follows the symlink and reads outside the checkout. The contents are rendered into the generated config and surfaced via the Infracost dashboard and PR comment, so anyone who can open a pull request can read files off the runner.
Affects infracost up to and including v0.10.44. Successful exploitation reads any file the CLI process can reach on the runner. Impact depends on what the run exposes: under on: pull_request (the configuration in Infracost's documentation) fork pull requests run without secrets and with a read-only token, so exposure is limited. If Infracost runs under pull_request_target, or is triggered by a same-repository pull request, the read reaches the repository's secrets, enabling secret theft. The patch confines all four functions regardless of trigger.
Patches
Fixed in v0.10.45 (#3586) by routing all four functions through security.IsPathAllowed, which resolves symlinks anywhere in the path before a segment-aware containment check. The same fix landed in config#14 and parser#144.
- Installed via the official script, a package manager, or the latest Docker tag: upgrade to v0.10.45 (or later) to receive the fix.
- Pinned to a specific version or image digest: bump to v0.10.45.
Workarounds
No full fix without upgrading. To limit exposure: run Infracost under on: pull_request rather than pull_request_target, and keep fork pull requests from receiving secrets (the defaults).
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/infracost/infracost"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.10.45"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-71493"
],
"database_specific": {
"cwe_ids": [
"CWE-22",
"CWE-59"
],
"github_reviewed": true,
"github_reviewed_at": "2026-09-08T18:14:00Z",
"nvd_published_at": "2026-08-21T18:16:50Z",
"severity": "MODERATE"
},
"details": "### Impact\n\nPath traversal via link following in the Infracost config-template parser. The `readFile`, `pathExists`, `isDir`, and `matchPaths` template functions confined repo-supplied paths with a lexical `filepath.Rel` check plus a leaf-only `os.Lstat`:\n\n```\n{{ readFile \"evil/file\" }}\n```\n\nWith an intermediate directory symlink committed in the repo (`evil -\u003e /`), the path is lexically clean and the leaf is a regular file, so both checks pass, but `os.ReadFile` follows the symlink and reads outside the checkout. The contents are rendered into the generated config and surfaced via the Infracost dashboard and PR comment, so anyone who can open a pull request can read files off the runner.\n\nAffects `infracost` up to and including `v0.10.44`. Successful exploitation reads any file the CLI process can reach on the runner. Impact depends on what the run exposes: under `on: pull_request` (the configuration in Infracost\u0027s documentation) fork pull requests run without secrets and with a read-only token, so exposure is limited. If Infracost runs under `pull_request_target`, or is triggered by a same-repository pull request, the read reaches the repository\u0027s secrets, enabling secret theft. The patch confines all four functions regardless of trigger.\n\n### Patches\n\nFixed in `v0.10.45` ([#3586](https://github.com/infracost/infracost/pull/3586)) by routing all four functions through `security.IsPathAllowed`, which resolves symlinks anywhere in the path before a segment-aware containment check. The same fix landed in [config#14](https://github.com/infracost/config/pull/14) and [parser#144](https://github.com/infracost/parser/pull/144).\n - Installed via the official script, a package manager, or the `latest` Docker tag: upgrade to `v0.10.45` (or later) to receive the fix.\n - Pinned to a specific version or image digest: bump to `v0.10.45`.\n\n### Workarounds\n\nNo full fix without upgrading. To limit exposure: run Infracost under `on: pull_request` rather than `pull_request_target`, and keep fork pull requests from receiving secrets (the defaults).",
"id": "GHSA-mmg6-4qmv-6pc8",
"modified": "2026-09-08T18:14:00Z",
"published": "2026-09-08T18:14:00Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/infracost/infracost/security/advisories/GHSA-mmg6-4qmv-6pc8"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-71493"
},
{
"type": "WEB",
"url": "https://github.com/infracost/infracost/pull/3586"
},
{
"type": "WEB",
"url": "https://github.com/infracost/infracost/commit/4d39331afc0e27752d16d9d91c34583e5e8487fb"
},
{
"type": "PACKAGE",
"url": "https://github.com/infracost/infracost"
},
{
"type": "WEB",
"url": "https://github.com/infracost/infracost/releases/tag/v0.10.45"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "Infracost: Arbitrary file read via config-template readFile symlink traversal"
}
GHSA-MMP4-X7MG-MW3W
Vulnerability from github – Published: 2022-05-17 00:39 – Updated: 2022-05-17 00:39Red Hat Cluster Project 2.x allows local users to modify or overwrite arbitrary files via symlink attacks on files in /tmp, involving unspecified components in Resource Group Manager (aka rgmanager) before 2.03.09-1, gfs2-utils before 2.03.09-1, and CMAN - The Cluster Manager before 2.03.09-1 on Fedora 9.
{
"affected": [],
"aliases": [
"CVE-2008-6552"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2009-03-30T16:30:00Z",
"severity": "MODERATE"
},
"details": "Red Hat Cluster Project 2.x allows local users to modify or overwrite arbitrary files via symlink attacks on files in /tmp, involving unspecified components in Resource Group Manager (aka rgmanager) before 2.03.09-1, gfs2-utils before 2.03.09-1, and CMAN - The Cluster Manager before 2.03.09-1 on Fedora 9.",
"id": "GHSA-mmp4-x7mg-mw3w",
"modified": "2022-05-17T00:39:08Z",
"published": "2022-05-17T00:39:08Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2008-6552"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/46412"
},
{
"type": "WEB",
"url": "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A11404"
},
{
"type": "WEB",
"url": "http://osvdb.org/50299"
},
{
"type": "WEB",
"url": "http://osvdb.org/50300"
},
{
"type": "WEB",
"url": "http://osvdb.org/50301"
},
{
"type": "WEB",
"url": "http://rhn.redhat.com/errata/RHSA-2009-1337.html"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/32602"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/32616"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/36530"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/36555"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/43367"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/43372"
},
{
"type": "WEB",
"url": "http://www.redhat.com/archives/fedora-package-announce/2008-November/msg00163.html"
},
{
"type": "WEB",
"url": "http://www.redhat.com/archives/fedora-package-announce/2008-November/msg00164.html"
},
{
"type": "WEB",
"url": "http://www.redhat.com/archives/fedora-package-announce/2008-November/msg00165.html"
},
{
"type": "WEB",
"url": "http://www.redhat.com/support/errata/RHSA-2009-1339.html"
},
{
"type": "WEB",
"url": "http://www.redhat.com/support/errata/RHSA-2009-1341.html"
},
{
"type": "WEB",
"url": "http://www.redhat.com/support/errata/RHSA-2011-0264.html"
},
{
"type": "WEB",
"url": "http://www.redhat.com/support/errata/RHSA-2011-0265.html"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/32179"
},
{
"type": "WEB",
"url": "http://www.ubuntu.com/usn/USN-875-1"
},
{
"type": "WEB",
"url": "http://www.vupen.com/english/advisories/2011/0416"
},
{
"type": "WEB",
"url": "http://www.vupen.com/english/advisories/2011/0417"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-MMP5-HRVP-29PP
Vulnerability from github – Published: 2024-01-16 21:31 – Updated: 2024-01-16 21:31Improper Link Resolution Before File Access ('Link Following') vulnerability in HYPR Workforce Access on Windows allows User-Controlled Filename.This issue affects Workforce Access: before 8.7.
{
"affected": [],
"aliases": [
"CVE-2023-6335"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2024-01-16T20:15:45Z",
"severity": "MODERATE"
},
"details": "Improper Link Resolution Before File Access (\u0027Link Following\u0027) vulnerability in HYPR Workforce Access on Windows allows User-Controlled Filename.This issue affects Workforce Access: before 8.7.\n\n",
"id": "GHSA-mmp5-hrvp-29pp",
"modified": "2024-01-16T21:31:22Z",
"published": "2024-01-16T21:31:22Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-6335"
},
{
"type": "WEB",
"url": "https://www.hypr.com/security-advisories"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:L",
"type": "CVSS_V3"
}
]
}
GHSA-MMQ4-V89P-RV4M
Vulnerability from github – Published: 2022-05-24 19:05 – Updated: 2022-05-24 19:05It was discovered that read_file() in apport/hookutils.py would follow symbolic links or open FIFOs. When this function is used by the openjdk-8 package apport hooks, it could expose private data to other local users.
{
"affected": [],
"aliases": [
"CVE-2021-32548"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-06-12T04:15:00Z",
"severity": "MODERATE"
},
"details": "It was discovered that read_file() in apport/hookutils.py would follow symbolic links or open FIFOs. When this function is used by the openjdk-8 package apport hooks, it could expose private data to other local users.",
"id": "GHSA-mmq4-v89p-rv4m",
"modified": "2022-05-24T19:05:16Z",
"published": "2022-05-24T19:05:16Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-32548"
},
{
"type": "WEB",
"url": "https://bugs.launchpad.net/ubuntu/+source/apport/+bug/1917904"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-MMRC-237M-92X8
Vulnerability from github – Published: 2022-05-13 01:18 – Updated: 2022-05-13 01:18Information leakage vulnerability in the administrative console in Dialogic PowerMedia XMS through 3.5 allows remote attackers to read arbitrary files from the /var/ directory because a symlink exists under the web root.
{
"affected": [],
"aliases": [
"CVE-2018-11637"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2018-07-03T17:29:00Z",
"severity": "HIGH"
},
"details": "Information leakage vulnerability in the administrative console in Dialogic PowerMedia XMS through 3.5 allows remote attackers to read arbitrary files from the /var/ directory because a symlink exists under the web root.",
"id": "GHSA-mmrc-237m-92x8",
"modified": "2022-05-13T01:18:57Z",
"published": "2022-05-13T01:18:57Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2018-11637"
},
{
"type": "WEB",
"url": "https://d3adend.org/blog/?p=1398"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"type": "CVSS_V3"
}
]
}
Mitigation MIT-48.1
Strategy: Separation of Privilege
- Follow the principle of least privilege when assigning access rights to entities in a software system.
- Denying access to a file can prevent an attacker from replacing that file with a link to a sensitive file. Ensure good compartmentalization in the system to provide protected areas that can be trusted.
CAPEC-132: Symlink Attack
An adversary positions a symbolic link in such a manner that the targeted user or application accesses the link's endpoint, assuming that it is accessing a file with the link's name.
CAPEC-17: Using Malicious Files
An attack of this type exploits a system's configuration that allows an adversary to either directly access an executable file, for example through shell access; or in a possible worst case allows an adversary to upload a file and then execute it. Web servers, ftp servers, and message oriented middleware systems which have many integration points are particularly vulnerable, because both the programmers and the administrators must be in synch regarding the interfaces and the correct privileges for each interface.
CAPEC-35: Leverage Executable Code in Non-Executable Files
An attack of this type exploits a system's trust in configuration and resource files. When the executable loads the resource (such as an image file or configuration file) the attacker has modified the file to either execute malicious code directly or manipulate the target process (e.g. application server) to execute based on the malicious configuration parameters. Since systems are increasingly interrelated mashing up resources from local and remote sources the possibility of this attack occurring is high.
CAPEC-76: Manipulating Web Input to File System Calls
An attacker manipulates inputs to the target software which the target software passes to file system calls in the OS. The goal is to gain access to, and perhaps modify, areas of the file system that the target software did not intend to be accessible.