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.
2314 vulnerabilities reference this CWE, most recent first.
GHSA-95G7-22Q2-6WMQ
Vulnerability from github – Published: 2022-05-24 19:02 – Updated: 2024-02-21 21:30A Zip Slip vulnerability was found in the oc binary in openshift-clients where an arbitrary file write is achieved by using a specially crafted raw container image (.tar file) which contains symbolic links. The vulnerability is limited to the command oc image extract. If a symbolic link is first created pointing within the tarball, this allows further symbolic links to bypass the existing path check. This flaw allows the tarball to create links outside the tarball's parent directory, allowing for executables or configuration files to be overwritten, resulting in arbitrary code execution. The highest threat from this vulnerability is to confidentiality, integrity, as well as system availability. Versions up to and including openshift-clients-4.7.0-202104250659.p0.git.95881af are affected.
{
"affected": [],
"aliases": [
"CVE-2020-27833"
],
"database_specific": {
"cwe_ids": [
"CWE-20",
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-05-14T21:15:00Z",
"severity": "HIGH"
},
"details": "A Zip Slip vulnerability was found in the oc binary in openshift-clients where an arbitrary file write is achieved by using a specially crafted raw container image (.tar file) which contains symbolic links. The vulnerability is limited to the command `oc image extract`. If a symbolic link is first created pointing within the tarball, this allows further symbolic links to bypass the existing path check. This flaw allows the tarball to create links outside the tarball\u0027s parent directory, allowing for executables or configuration files to be overwritten, resulting in arbitrary code execution. The highest threat from this vulnerability is to confidentiality, integrity, as well as system availability. Versions up to and including openshift-clients-4.7.0-202104250659.p0.git.95881af are affected.",
"id": "GHSA-95g7-22q2-6wmq",
"modified": "2024-02-21T21:30:22Z",
"published": "2022-05-24T19:02:25Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2020-27833"
},
{
"type": "WEB",
"url": "https://access.redhat.com/security/cve/CVE-2020-27833"
},
{
"type": "WEB",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=1905945"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-95PC-M84Q-VVMM
Vulnerability from github – Published: 2022-05-02 03:14 – Updated: 2022-05-02 03:14Mozilla Firefox before 3.0.6 and SeaMonkey do not block links to the (1) about:plugins and (2) about:config URIs from .desktop files, which allows user-assisted remote attackers to bypass the Same Origin Policy and execute arbitrary code with chrome privileges via vectors involving the URL field in a Desktop Entry section of a .desktop file, related to representation of about: URIs as jar:file:// URIs. NOTE: this issue exists because of an incomplete fix for CVE-2008-4582.
{
"affected": [],
"aliases": [
"CVE-2009-0356"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2009-02-04T19:30:00Z",
"severity": "MODERATE"
},
"details": "Mozilla Firefox before 3.0.6 and SeaMonkey do not block links to the (1) about:plugins and (2) about:config URIs from .desktop files, which allows user-assisted remote attackers to bypass the Same Origin Policy and execute arbitrary code with chrome privileges via vectors involving the URL field in a Desktop Entry section of a .desktop file, related to representation of about: URIs as jar:file:// URIs. NOTE: this issue exists because of an incomplete fix for CVE-2008-4582.",
"id": "GHSA-95pc-m84q-vvmm",
"modified": "2022-05-02T03:14:36Z",
"published": "2022-05-02T03:14:36Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2009-0356"
},
{
"type": "WEB",
"url": "https://bugzilla.mozilla.org/show_bug.cgi?id=460425"
},
{
"type": "WEB",
"url": "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A9922"
},
{
"type": "WEB",
"url": "https://www.redhat.com/archives/fedora-package-announce/2009-February/msg00240.html"
},
{
"type": "WEB",
"url": "http://lists.opensuse.org/opensuse-security-announce/2009-02/msg00001.html"
},
{
"type": "WEB",
"url": "http://rhn.redhat.com/errata/RHSA-2009-0256.html"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/33799"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/33809"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/33831"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/33841"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/33846"
},
{
"type": "WEB",
"url": "http://support.avaya.com/elmodocs2/security/ASA-2009-040.htm"
},
{
"type": "WEB",
"url": "http://www.mandriva.com/security/advisories?name=MDVSA-2009:044"
},
{
"type": "WEB",
"url": "http://www.mozilla.org/security/announce/2009/mfsa2009-04.html"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/33598"
},
{
"type": "WEB",
"url": "http://www.securitytracker.com/id?1021666"
},
{
"type": "WEB",
"url": "http://www.vupen.com/english/advisories/2009/0313"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-95PW-7MXV-57V2
Vulnerability from github – Published: 2026-09-30 03:31 – Updated: 2026-09-30 03:31Image Scanner Driver for Linux contains a link following vulnerability. An attacker who can log in to a Linux system where the product is installed may overwrite arbitrary files by using a special method in advance.
{
"affected": [],
"aliases": [
"CVE-2026-81310"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-09-30T02:16:57Z",
"severity": "MODERATE"
},
"details": "Image Scanner Driver for Linux contains a link following vulnerability. An attacker who can log in to a Linux system where the product is installed may overwrite arbitrary files by using a special method in advance.",
"id": "GHSA-95pw-7mxv-57v2",
"modified": "2026-09-30T03:31:33Z",
"published": "2026-09-30T03:31:33Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-81310"
},
{
"type": "WEB",
"url": "https://jvn.jp/en/vu/JVNVU96968110"
},
{
"type": "WEB",
"url": "https://www.pfu.ricoh.com/global/products_security/vul2026000001e.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:H",
"type": "CVSS_V3"
},
{
"score": "CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:P/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"type": "CVSS_V4"
}
]
}
GHSA-95QC-G5WC-QH7X
Vulnerability from github – Published: 2022-05-17 02:39 – Updated: 2022-05-17 02:39ioquake3 before r2253 allows local users to overwrite arbitrary files via a symlink attack on the /tmp/ioq3.pid temporary file.
{
"affected": [],
"aliases": [
"CVE-2012-3345"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2012-06-15T14:55:00Z",
"severity": "MODERATE"
},
"details": "ioquake3 before r2253 allows local users to overwrite arbitrary files via a symlink attack on the /tmp/ioq3.pid temporary file.",
"id": "GHSA-95qc-g5wc-qh7x",
"modified": "2022-05-17T02:39:19Z",
"published": "2022-05-17T02:39:19Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2012-3345"
},
{
"type": "WEB",
"url": "https://security.gentoo.org/glsa/201706-23"
},
{
"type": "WEB",
"url": "http://www.openwall.com/lists/oss-security/2012/06/15/3"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-968X-3445-GCP2
Vulnerability from github – Published: 2022-05-14 02:16 – Updated: 2022-05-14 02:16The SplFileInfo::getType function in the Standard PHP Library (SPL) extension in PHP before 5.3.4 on Windows does not properly detect symbolic links, which might make it easier for local users to conduct symlink attacks by leveraging cross-platform differences in the stat structure, related to lack of a FILE_ATTRIBUTE_REPARSE_POINT check.
{
"affected": [],
"aliases": [
"CVE-2011-0754"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2011-02-02T22:00:00Z",
"severity": "MODERATE"
},
"details": "The SplFileInfo::getType function in the Standard PHP Library (SPL) extension in PHP before 5.3.4 on Windows does not properly detect symbolic links, which might make it easier for local users to conduct symlink attacks by leveraging cross-platform differences in the stat structure, related to lack of a FILE_ATTRIBUTE_REPARSE_POINT check.",
"id": "GHSA-968x-3445-gcp2",
"modified": "2022-05-14T02:16:12Z",
"published": "2022-05-14T02:16:12Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2011-0754"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/65429"
},
{
"type": "WEB",
"url": "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A12334"
},
{
"type": "WEB",
"url": "http://bugs.php.net/51763"
},
{
"type": "WEB",
"url": "http://www.php.net/ChangeLog-5.php"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-96GQ-M97M-9PPG
Vulnerability from github – Published: 2022-05-24 16:47 – Updated: 2024-04-04 00:51In some configurations an attacker can inject a new executable path into the extensions.load file for osquery and hard link a parent folder of a malicious binary to a folder with known 'safe' permissions. Under those circumstances osquery will load said malicious executable with SYSTEM permissions. The solution is to migrate installations to the 'Program Files' directory on Windows which restricts unprivileged write access. This issue affects osquery prior to v3.4.0.
{
"affected": [],
"aliases": [
"CVE-2019-3567"
],
"database_specific": {
"cwe_ids": [
"CWE-284",
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2019-06-03T19:29:00Z",
"severity": "HIGH"
},
"details": "In some configurations an attacker can inject a new executable path into the extensions.load file for osquery and hard link a parent folder of a malicious binary to a folder with known \u0027safe\u0027 permissions. Under those circumstances osquery will load said malicious executable with SYSTEM permissions. The solution is to migrate installations to the \u0027Program Files\u0027 directory on Windows which restricts unprivileged write access. This issue affects osquery prior to v3.4.0.",
"id": "GHSA-96gq-m97m-9ppg",
"modified": "2024-04-04T00:51:06Z",
"published": "2022-05-24T16:47:02Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2019-3567"
},
{
"type": "WEB",
"url": "https://www.facebook.com/security/advisories/cve-2019-3567"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-96H3-5X6V-M776
Vulnerability from github – Published: 2026-10-02 19:14 – Updated: 2026-10-02 19:14Summary
A malicious or compromised Composer package could, when installed as a dependency, cause Composer to change the permissions of a file outside that package's own directory and to register a runnable vendor/bin command that points at that outside file. This is a path traversal and link following issue. It is not remote code execution, the attacker gains no ability to read or receive your data directly. The risk is that a file which was readable only by its owner, but modifiable by Composer, can be made world readable and executable, which is enough to expose its contents on a shared or multi tenant host. The earlier hardening from GHSA-gjfg-22fp-rrxx can be bypassed, since it only rejected literal .. path segments in a package's declared binaries, and was only applied in a single place during dependency resolution.
Am I affected?
You can be affected if a malicious or compromised package, including a transitive dependency, is installed in your project, and either of the following is true:
- The dependency package ships one of its declared binaries as a symbolic link that resolves to a location outside the package's own directory. Nothing beyond a normal install or update is required.
- Or, the recorded metadata of your installed dependencies (
vendor/composer/installed.json) declares a binary path that escapes the package's directory. Composer regenerates missing binaries from that recorded metadata at the end of an install, and uses this metadata for reinstalls of the same package. In both of these cases the validation applied during dependency resolution is skipped. This situation is only reachable when yourvendordirectory is not populated from the same install run, which performs validation. For example a vendor directory restored from a shared or untrusted CI cache, copied in from an earlier container build stage, carried over from a Composer older than 2.10.2 or 2.2.29, or writable by a lower trust build step, could contain such malicious data.
The most realistic way to get hit is a composer install in a build or deploy step that reuses a vendor directory produced elsewhere, since the permission change is applied silently and with the privileges of the user running Composer.
Patched versions
Composer now verifies that each declared binary resolves to a path inside the installing package's own directory before it touches the file, and skips any binary that resolves outside it with a warning. Update to the patched releases (2.10.3 and 2.2.30).
Workarounds
Upgrading is the only complete fix.
{
"affected": [
{
"package": {
"ecosystem": "Packagist",
"name": "composer/composer"
},
"ranges": [
{
"events": [
{
"introduced": "2.3.0"
},
{
"fixed": "2.10.3"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Packagist",
"name": "composer/composer"
},
"ranges": [
{
"events": [
{
"introduced": "1.0"
},
{
"fixed": "2.2.30"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-59944"
],
"database_specific": {
"cwe_ids": [
"CWE-22",
"CWE-59",
"CWE-732"
],
"github_reviewed": true,
"github_reviewed_at": "2026-10-02T19:14:34Z",
"nvd_published_at": "2026-09-16T17:17:28Z",
"severity": "MODERATE"
},
"details": "## Summary\n\nA malicious or compromised Composer package could, when installed as a dependency, cause Composer to change the permissions of a file outside that package\u0027s own directory and to register a runnable `vendor/bin` command that points at that outside file. This is a path traversal and link following issue. It is not remote code execution, the attacker gains no ability to read or receive your data directly. The risk is that a file which was readable only by its owner, but modifiable by Composer, can be made world readable and executable, which is enough to expose its contents on a shared or multi tenant host. The earlier hardening from GHSA-gjfg-22fp-rrxx can be bypassed, since it only rejected literal `..` path segments in a package\u0027s declared binaries, and was only applied in a single place during dependency resolution.\n\n## Am I affected?\n\nYou can be affected if a malicious or compromised package, including a transitive dependency, is installed in your project, and either of the following is true:\n\n- The dependency package ships one of its declared binaries as a symbolic link that resolves to a location outside the package\u0027s own directory. Nothing beyond a normal install or update is required.\n- Or, the recorded metadata of your installed dependencies (`vendor/composer/installed.json`) declares a binary path that escapes the package\u0027s directory. Composer regenerates missing binaries from that recorded metadata at the end of an install, and uses this metadata for reinstalls of the same package. In both of these cases the validation applied during dependency resolution is skipped. This situation is only reachable when your `vendor` directory is not populated from the same install run, which performs validation. For example a vendor directory restored from a shared or untrusted CI cache, copied in from an earlier container build stage, carried over from a Composer older than 2.10.2 or 2.2.29, or writable by a lower trust build step, could contain such malicious data.\n\nThe most realistic way to get hit is a `composer install` in a build or deploy step that reuses a `vendor` directory produced elsewhere, since the permission change is applied silently and with the privileges of the user running Composer.\n\n## Patched versions\n\nComposer now verifies that each declared binary resolves to a path inside the installing package\u0027s own directory before it touches the file, and skips any binary that resolves outside it with a warning. Update to the patched releases (2.10.3 and 2.2.30).\n\n## Workarounds\n\nUpgrading is the only complete fix.",
"id": "GHSA-96h3-5x6v-m776",
"modified": "2026-10-02T19:14:34Z",
"published": "2026-10-02T19:14:34Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/composer/composer/security/advisories/GHSA-96h3-5x6v-m776"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-59944"
},
{
"type": "WEB",
"url": "https://github.com/composer/composer/commit/53b8bb4c24697b2f00a18cf1ef35a10392701b89"
},
{
"type": "WEB",
"url": "https://github.com/composer/composer/commit/ad649fdfdf8ed826d4a34e0e5690c76a0b4833aa"
},
{
"type": "PACKAGE",
"url": "https://github.com/composer/composer"
},
{
"type": "WEB",
"url": "https://github.com/composer/composer/releases/tag/2.10.3"
},
{
"type": "WEB",
"url": "https://github.com/composer/composer/releases/tag/2.2.30"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "Composer: GHSA-gjfg-22fp-rrxx fix bypass via symlinked package bin path"
}
GHSA-97JM-5RH5-84F8
Vulnerability from github – Published: 2022-05-14 03:59 – Updated: 2022-05-14 03:59The unpacker::redirect_stdio function in unpack.cpp in unpack200 in OpenJDK 6, 7, and 8; Oracle Java SE 5.0u61, 6u71, 7u51, and 8; JRockit R27.8.1 and R28.3.1; and Java SE Embedded 7u51 does not securely create temporary files when a log file cannot be opened, which allows local users to overwrite arbitrary files via a symlink attack on /tmp/unpack.log.
{
"affected": [],
"aliases": [
"CVE-2014-1876"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2014-02-10T23:55:00Z",
"severity": "MODERATE"
},
"details": "The unpacker::redirect_stdio function in unpack.cpp in unpack200 in OpenJDK 6, 7, and 8; Oracle Java SE 5.0u61, 6u71, 7u51, and 8; JRockit R27.8.1 and R28.3.1; and Java SE Embedded 7u51 does not securely create temporary files when a log file cannot be opened, which allows local users to overwrite arbitrary files via a symlink attack on /tmp/unpack.log.",
"id": "GHSA-97jm-5rh5-84f8",
"modified": "2022-05-14T03:59:55Z",
"published": "2022-05-14T03:59:55Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2014-1876"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2014:0413"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2014:0414"
},
{
"type": "WEB",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=1060907"
},
{
"type": "WEB",
"url": "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=737562"
},
{
"type": "WEB",
"url": "http://marc.info/?l=bugtraq\u0026m=140852886808946\u0026w=2"
},
{
"type": "WEB",
"url": "http://marc.info/?l=bugtraq\u0026m=140852974709252\u0026w=2"
},
{
"type": "WEB",
"url": "http://osvdb.org/102808"
},
{
"type": "WEB",
"url": "http://rhn.redhat.com/errata/RHSA-2014-0675.html"
},
{
"type": "WEB",
"url": "http://rhn.redhat.com/errata/RHSA-2014-0685.html"
},
{
"type": "WEB",
"url": "http://seclists.org/oss-sec/2014/q1/242"
},
{
"type": "WEB",
"url": "http://seclists.org/oss-sec/2014/q1/285"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/58415"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/59058"
},
{
"type": "WEB",
"url": "http://security.gentoo.org/glsa/glsa-201406-32.xml"
},
{
"type": "WEB",
"url": "http://www-01.ibm.com/support/docview.wss?uid=swg21672080"
},
{
"type": "WEB",
"url": "http://www-01.ibm.com/support/docview.wss?uid=swg21676746"
},
{
"type": "WEB",
"url": "http://www-01.ibm.com/support/docview.wss?uid=swg21679713"
},
{
"type": "WEB",
"url": "http://www.debian.org/security/2014/dsa-2912"
},
{
"type": "WEB",
"url": "http://www.oracle.com/technetwork/topics/security/cpuapr2014-1972952.html"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/65568"
},
{
"type": "WEB",
"url": "http://www.ubuntu.com/usn/USN-2187-1"
},
{
"type": "WEB",
"url": "http://www.ubuntu.com/usn/USN-2191-1"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-984X-7Q6C-WPQW
Vulnerability from github – Published: 2025-06-17 21:32 – Updated: 2025-06-17 21:32A link following vulnerability in the Trend Micro Apex One Damage Cleanup Engine could allow a local attacker to escalation privileges on affected installations.
Please note: an attacker must first obtain the ability to execute low-privileged code on the target system in order to exploit this vulnerability.
{
"affected": [],
"aliases": [
"CVE-2025-49157"
],
"database_specific": {
"cwe_ids": [
"CWE-269",
"CWE-59"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2025-06-17T19:15:33Z",
"severity": "HIGH"
},
"details": "A link following vulnerability in the Trend Micro Apex One Damage Cleanup Engine could allow a local attacker to escalation privileges on affected installations.\n\nPlease note: an attacker must first obtain the ability to execute low-privileged code on the target system in order to exploit this vulnerability.",
"id": "GHSA-984x-7q6c-wpqw",
"modified": "2025-06-17T21:32:30Z",
"published": "2025-06-17T21:32:29Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-49157"
},
{
"type": "WEB",
"url": "https://success.trendmicro.com/en-US/solution/KA-0019917"
},
{
"type": "WEB",
"url": "https://www.zerodayinitiative.com/advisories/ZDI-25-364"
}
],
"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-98C8-36P9-GW66
Vulnerability from github – Published: 2022-05-17 01:57 – Updated: 2024-05-14 21:19The _write_config function in trove/guestagent/datastore/experimental/mongodb/service.py, reset_configuration function in trove/guestagent/datastore/experimental/postgresql/service/config.py, write_config function in trove/guestagent/datastore/experimental/redis/service.py, _write_mycnf function in trove/guestagent/datastore/mysql/service.py, InnoBackupEx::_run_prepare function in trove/guestagent/strategies/restore/mysql_impl.py, InnoBackupEx::cmd function in trove/guestagent/strategies/backup/mysql_impl.py,MySQLDump::cmd in trove/guestagent/strategies/backup/mysql_impl.py, InnoBackupExIncremental::cmd function in trove/guestagent/strategies/backup/mysql_impl.py, _get_actual_db_status function in trove/guestagent/datastore/experimental/cassandra/system.py and trove/guestagent/datastore/experimental/cassandra/service.py, and multiple class CbBackup methods in trove/guestagent/strategies/backup/experimental/couchbase_impl.py in Openstack DBaaS (aka Trove) as packaged in Openstack before 2015.1.0 (aka Kilo) allows local users to write to configuration files via a symlink attack on a temporary file.
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "trove"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "4.0.0a0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2015-3156"
],
"database_specific": {
"cwe_ids": [
"CWE-59"
],
"github_reviewed": true,
"github_reviewed_at": "2024-05-14T21:19:05Z",
"nvd_published_at": "2017-08-11T21:29:00Z",
"severity": "MODERATE"
},
"details": "The `_write_config` function in `trove/guestagent/datastore/experimental/mongodb/service.py`, `reset_configuration` function in `trove/guestagent/datastore/experimental/postgresql/service/config.py`, `write_config` function in `trove/guestagent/datastore/experimental/redis/service.py`, `_write_mycnf` function in `trove/guestagent/datastore/mysql/service.py`, `InnoBackupEx::_run_prepare` function in `trove/guestagent/strategies/restore/mysql_impl.py`, `InnoBackupEx::cmd` function in `trove/guestagent/strategies/backup/mysql_impl.py`,`MySQLDump::cmd` in `trove/guestagent/strategies/backup/mysql_impl.py`, `InnoBackupExIncremental::cmd` function in `trove/guestagent/strategies/backup/mysql_impl.py`, `_get_actual_db_status` function in `trove/guestagent/datastore/experimental/cassandra/system.py` and `trove/guestagent/datastore/experimental/cassandra/service.py`, and multiple class CbBackup methods in `trove/guestagent/strategies/backup/experimental/couchbase_impl.py` in Openstack DBaaS (aka Trove) as packaged in Openstack before 2015.1.0 (aka Kilo) allows local users to write to configuration files via a symlink attack on a temporary file.",
"id": "GHSA-98c8-36p9-gw66",
"modified": "2024-05-14T21:19:05Z",
"published": "2022-05-17T01:57:31Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2015-3156"
},
{
"type": "WEB",
"url": "https://github.com/openstack/trove/commit/61774984aa2bacfe89867fc39a402a6a4cfb8f33"
},
{
"type": "WEB",
"url": "https://bugs.launchpad.net/trove/+bug/1398195"
},
{
"type": "WEB",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=1216073"
},
{
"type": "PACKAGE",
"url": "https://github.com/openstack/trove"
},
{
"type": "WEB",
"url": "https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/cassandra/service.py#L230"
},
{
"type": "WEB",
"url": "https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/mongodb/service.py#L176"
},
{
"type": "WEB",
"url": "https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/redis/service.py#L236"
},
{
"type": "WEB",
"url": "https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/mysql/service.py#L790"
},
{
"type": "WEB",
"url": "https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/experimental/couchbase_impl.py#L30"
},
{
"type": "WEB",
"url": "https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L110"
},
{
"type": "WEB",
"url": "https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L36"
},
{
"type": "WEB",
"url": "https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L55"
},
{
"type": "WEB",
"url": "https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/restore/mysql_impl.py#L194"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N",
"type": "CVSS_V3"
}
],
"summary": "Openstack DBaaS (Trove) Improper Link Resolution Before File Access "
}
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.