{"id":"CVE-2014-1624","aliases":["DEBIAN-CVE-2014-1624","EUVD-2014-0096","GHSA-7372-q459-jxhr","PYSEC-2014-95","SUSE-SU-2019:2719-1","SUSE-SU-2019:2719-2","UBUNTU-CVE-2014-1624"],"status":"published","title":"pyxdg Arbitrary File Overwrite via Race Condition","description":"Race condition in the xdg.BaseDirectory.get_runtime_dir function in python-xdg 0.25 allows local users to overwrite arbitrary files by pre-creating /tmp/pyxdg-runtime-dir-fallback-victim to point to a victim-owned location, then replacing it with a symlink to an attacker-controlled location once the get_runtime_dir function is called.","severity":{"version":"2.0","score":3.3,"vector":"AV:L/AC:M/Au:N/C:N/I:P/A:P","level":"low","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-07","score":0.00315,"percentile":0.24562,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-59"],"published":"2014-01-28T00:00:00Z","modified":"2026-10-23T15:47:30Z","fixes":[{"ecosystem":"PyPI","package":"pyxdg","fixed_in":["0.26"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"pyxdg","fixed_in":["0.25-4"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"pyxdg","fixed_in":["0.25-4"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"pyxdg","fixed_in":["0.25-4"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Desktop 12 SP4","package":"python-xdg","fixed_in":["0.25-9.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server 12 SP4","package":"python-xdg","fixed_in":["0.25-9.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP4","package":"python-xdg","fixed_in":["0.25-9.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server 12 SP5","package":"python-xdg","fixed_in":["0.25-9.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP5","package":"python-xdg","fixed_in":["0.25-9.3.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:14.04:LTS","package":"pyxdg","fixed_in":["0.25-4"],"sources":["osv"]},{"ecosystem":"Ubuntu:16.04:LTS","package":"pyxdg","fixed_in":["0.25-4"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"pyxdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.25"},{"fixed":"0.26"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"pyxdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.25-4"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"pyxdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.25-4"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"pyxdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.25-4"}]}]},{"source":"osv","ecosystem":"PyPI","package":"pyxdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.26"}]}],"versions":["0.19","0.20","0.21","0.22","0.23","0.24","0.25"]},{"source":"osv","ecosystem":"PyPI","package":"pyxdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.25"},{"fixed":"0.26"}]}],"versions":["0.25"]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Desktop 12 SP4","package":"python-xdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.25-9.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP4","package":"python-xdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.25-9.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP4","package":"python-xdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.25-9.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP5","package":"python-xdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.25-9.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP5","package":"python-xdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.25-9.3.1"}]}]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"pyxdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.25-4"}]}],"versions":["0.25-3"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"pyxdg","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.25-4"}]}]}],"products":[{"vendor":"python","product":"pyxdg"}],"references":[{"url":"http://www.openwall.com/lists/oss-security/2014/01/21/4","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=736247","tags":["x_refsource_MISC","x_transferred","web"]},{"url":"https://exchange.xforce.ibmcloud.com/vulnerabilities/90618","tags":["vdb-entry","x_refsource_XF","x_transferred","web"]},{"url":"http://www.securityfocus.com/bid/65042","tags":["vdb-entry","x_refsource_BID","x_transferred","web"]},{"url":"http://www.openwall.com/lists/oss-security/2014/01/21/3","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2014-1624","tags":["advisory"]},{"url":"https://github.com/takluyver/pyxdg/commit/bd999c1c3fe7ee5f30ede2cf704cf03e400347b4","tags":["web"]},{"url":"https://web.archive.org/web/20200227194825/http://www.securityfocus.com/bid/65042","tags":["web"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/pyxdg/PYSEC-2014-95.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-7372-q459-jxhr","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2014-1624","tags":["advisory"]},{"url":"https://github.com/takluyver/pyxdg","tags":["package"]},{"url":"https://www.suse.com/support/update/announcement/2019/suse-su-20192719-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/859835","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2014-1624","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2019/suse-su-20192719-2/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2014-1624","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2014-1624","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2014-1624","description":"Race condition in the xdg.BaseDirectory.get_runtime_dir function in python-xdg 0.25 allows local users to overwrite arbitrary files by pre-creating /tmp/pyxdg-runtime-dir-fallback-victim to point to a victim-owned location, then replacing it with a symlink to an attacker-controlled location once the get_runtime_dir function is called.","status":"published","published":"2014-01-28T00:00:00Z","modified":"2024-08-06T09:50:09.591Z","updated_at":"2026-11-02T14:33:46.310517Z"}],"euvd":[{"id":"EUVD-2014-0096","description":"Race condition in the xdg.BaseDirectory.get_runtime_dir function in python-xdg 0.25 allows local users to overwrite arbitrary files by pre-creating /tmp/pyxdg-runtime-dir-fallback-victim to point to a victim-owned location, then replacing it with a symlink to an attacker-controlled location once the get_runtime_dir function is called.","status":"published","published":"2014-01-28T00:00:00Z","modified":"2024-08-06T09:50:09Z","updated_at":"2026-11-03T01:57:17.345507Z"}],"ghsa":[{"id":"GHSA-7372-q459-jxhr","title":"pyxdg Arbitrary File Overwrite via Race Condition","description":"Race condition in the `xdg.BaseDirectory.get_runtime_dir` function in pyxdg 0.25 allows local users to overwrite arbitrary files by pre-creating `/tmp/pyxdg-runtime-dir-fallback-victim` to point to a victim-owned location, then replacing it with a symlink to an attacker-controlled location once the `get_runtime_dir` function is called.","status":"published","published":"2022-05-17T01:27:07Z","modified":"2024-10-16T20:40:53Z","cwes":["CWE-59"],"updated_at":"2026-11-02T14:38:11.479492Z"}],"nvd":[{"id":"CVE-2014-1624","description":"Race condition in the xdg.BaseDirectory.get_runtime_dir function in python-xdg 0.25 allows local users to overwrite arbitrary files by pre-creating /tmp/pyxdg-runtime-dir-fallback-victim to point to a victim-owned location, then replacing it with a symlink to an attacker-controlled location once the get_runtime_dir function is called.","status":"published","published":"2014-01-28T00:55:04.083Z","modified":"2026-06-17T00:05:18.39Z","cvss":[{"version":"2.0","score":3.3,"vector":"AV:L/AC:M/Au:N/C:N/I:P/A:P","level":"low","assessor":"primary"}],"cwes":["CWE-59"],"updated_at":"2026-11-02T14:02:53.330367Z"}],"osv":[{"id":"CVE-2014-1624","description":"Race condition in the xdg.BaseDirectory.get_runtime_dir function in python-xdg 0.25 allows local users to overwrite arbitrary files by pre-creating /tmp/pyxdg-runtime-dir-fallback-victim to point to a victim-owned location, then replacing it with a symlink to an attacker-controlled location once the get_runtime_dir function is called.","status":"published","published":"2014-01-28T00:55:04Z","modified":"2026-04-10T03:44:37.533389Z","updated_at":"2026-11-02T15:43:59.361892Z"},{"id":"DEBIAN-CVE-2014-1624","description":"Race condition in the xdg.BaseDirectory.get_runtime_dir function in python-xdg 0.25 allows local users to overwrite arbitrary files by pre-creating /tmp/pyxdg-runtime-dir-fallback-victim to point to a victim-owned location, then replacing it with a symlink to an attacker-controlled location once the get_runtime_dir function is called.","status":"published","published":"2014-01-28T00:55:04.083Z","modified":"2026-10-23T15:47:30.070888517Z","updated_at":"2026-11-02T15:45:25.819707Z"},{"id":"GHSA-7372-q459-jxhr","title":"pyxdg Arbitrary File Overwrite via Race Condition","description":"Race condition in the `xdg.BaseDirectory.get_runtime_dir` function in pyxdg 0.25 allows local users to overwrite arbitrary files by pre-creating `/tmp/pyxdg-runtime-dir-fallback-victim` to point to a victim-owned location, then replacing it with a symlink to an attacker-controlled location once the `get_runtime_dir` function is called.","status":"published","published":"2022-05-17T01:27:07Z","modified":"2024-12-06T05:42:41.254164Z","cwes":["CWE-59"],"updated_at":"2026-11-02T15:46:40.308826Z"},{"id":"PYSEC-2014-95","description":"Race condition in the xdg.BaseDirectory.get_runtime_dir function in python-xdg 0.25 allows local users to overwrite arbitrary files by pre-creating /tmp/pyxdg-runtime-dir-fallback-victim to point to a victim-owned location, then replacing it with a symlink to an attacker-controlled location once the get_runtime_dir function is called.","status":"published","published":"2014-01-28T00:55:00Z","modified":"2026-06-10T17:01:46.910898873Z","updated_at":"2026-11-02T15:52:51.645172Z"},{"id":"SUSE-SU-2019:2719-1","title":"Security update for python-xdg","description":"This update for python-xdg fixes the following issues:\n\nSecurity issue fixed:\n\n- CVE-2014-1624: Fixed a TOCTOU race condition in get_runtime_dir(). (bsc#859835)\n","status":"published","published":"2019-10-18T14:24:10Z","modified":"2026-02-04T03:57:10.075952Z","updated_at":"2026-11-02T15:53:47.06185Z"},{"id":"SUSE-SU-2019:2719-2","title":"Security update for python-xdg","description":"This update for python-xdg fixes the following issues:\n\nSecurity issue fixed:\n\n- CVE-2014-1624: Fixed a TOCTOU race condition in get_runtime_dir(). (bsc#859835)\n","status":"published","published":"2019-11-12T21:32:59Z","modified":"2026-02-04T03:38:53.65453Z","updated_at":"2026-11-02T15:53:47.06185Z"},{"id":"UBUNTU-CVE-2014-1624","description":"Race condition in the xdg.BaseDirectory.get_runtime_dir function in python-xdg 0.25 allows local users to overwrite arbitrary files by pre-creating /tmp/pyxdg-runtime-dir-fallback-victim to point to a victim-owned location, then replacing it with a symlink to an attacker-controlled location once the get_runtime_dir function is called.","status":"published","published":"2014-01-28T00:55:00Z","modified":"2025-07-18T16:42:59Z","updated_at":"2026-11-02T15:54:07.855521Z"}]}}
