CVE-2019-1020001
Path Traversal vulnerability that affects yard
yard before 0.9.20 allows path traversal.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
7.5
yard before 0.9.20 allows path traversal.
- Record
CVE-2019-1020001- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:P/I:N/A:N - Weakness
- CWE-22
- Updated
- 2026-11-02
CVE List No score
yard before 0.9.20 allows path traversal.
- Record
CVE-2019-1020001- Updated
- 2026-11-02
EUVDEUVD-2019-0611 No score
yard before 0.9.20 allows path traversal.
- Record
EUVD-2019-0611- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-xfhh-rx56-rxcr
7.5
Path Traversal vulnerability that affects yard
Possible arbitrary path traversal and file access via yard server
Impact
A path traversal vulnerability was discovered in YARD <= 0.9.19 when using yard server to serve documentation. This bug would allow unsanitized HTTP requests to access arbitrary files on the machine of a yard server host under certain conditions.
Thanks to CuongMX from Viettel Cyber Security for discovering this vulnerability.
Patches
Please upgrade to YARD v0.9.20 immediately if you are relying on yard server to host documentation in any untrusted environments.
Workarounds
For users who cannot upgrade, it is possible to perform path sanitization of HTTP requests at your webserver level. WEBrick, for example, can perform such sanitization by default (which you can use via yard server -s webrick), as can certain rules in your webserver configuration.
- Record
GHSA-xfhh-rx56-rxcr- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-22
- Updated
- 2026-11-02
OSV
7.5
yard before 0.9.20 allows path traversal.
- Record
CVE-2019-1020001- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2019-1020001
7.5
yard before 0.9.20 allows path traversal.
- Record
DEBIAN-CVE-2019-1020001- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Show 4 moreShow less
OSVGHSA-xfhh-rx56-rxcr
7.5
Path Traversal vulnerability that affects yard
Possible arbitrary path traversal and file access via yard server
Impact
A path traversal vulnerability was discovered in YARD <= 0.9.19 when using yard server to serve documentation. This bug would allow unsanitized HTTP requests to access arbitrary files on the machine of a yard server host under certain conditions.
Thanks to CuongMX from Viettel Cyber Security for discovering this vulnerability.
Patches
Please upgrade to YARD v0.9.20 immediately if you are relying on yard server to host documentation in any untrusted environments.
Workarounds
For users who cannot upgrade, it is possible to perform path sanitization of HTTP requests at your webserver level. WEBrick, for example, can perform such sanitization by default (which you can use via yard server -s webrick), as can certain rules in your webserver configuration.
- Record
GHSA-xfhh-rx56-rxcr- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-22
- Updated
- 2026-11-02
OSVOESA-2021-1289
7.5
rubygem-yard security update
YARD is a documentation generation tool for the Ruby programming language. It enables the user to generate consistent, usable documentation that can be exported to a number of formats very easily, and also supports extending for custom Ruby constructs such as custom class level definitions.
Security Fix(es):
yard before 0.9.20 allows path traversal.(CVE-2019-1020001)
- Record
OESA-2021-1289- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2019-1020001
7.5
yard before 0.9.20 allows path traversal.
- Record
UBUNTU-CVE-2019-1020001- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVUSN-6731-1 No score
yard vulnerabilities
It was discovered that YARD before 0.9.11 does not block relative paths with an initial ../ sequence, which allows attackers to conduct directory traversal attacks and read arbitrary files. This issue only affected Ubuntu 16.04 LTS. (CVE-2017-17042)
It was discovered that yard before 0.9.20 is affected by a path traversal vulnerability, allowing HTTP requests to access arbitrary files under certain conditions. This issue only affected Ubuntu 18.04 LTS. (CVE-2019-1020001)
Aviv Keller discovered that the "frames.html" file within the Yard Doc's generated documentation is vulnerable to Cross-Site Scripting (XSS) attacks due to inadequate sanitization of user input within the JavaScript segment of the "frames.erb" template file. (CVE-2024-27285)
- Record
USN-6731-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
yardRubyGems |
before 0.9.20 | 0.9.20 |
yardDebian:12 |
before 0.9.20-1 | 0.9.20-1 |
yardDebian:13 |
before 0.9.20-1 | 0.9.20-1 |
yardDebian:14 |
before 0.9.20-1 | 0.9.20-1 |
yardDebian:10 From an advisory covering 2 CVEs |
before 0.9.16-1+deb10u1, plus listed versions 0.9.16-1 |
0.9.16-1+deb10u1 |
yardRubyGems |
before 0.9.20, plus listed versions 0.2.00.2.10.2.20.2.30.2.3.2 Show 45 moreShow less0.2.3.30.2.3.40.2.3.50.4.00.5.00.5.10.5.1p10.5.20.5.30.5.40.5.50.5.60.5.70.5.80.6.00.6.10.6.20.6.30.6.40.6.50.6.60.6.70.6.80.7.00.7.10.7.20.7.30.7.40.7.50.8.00.8.10.8.20.8.2.10.8.30.8.40.8.4.10.8.50.8.5.10.8.5.20.8.60.8.6.10.8.6.20.8.70.8.7.10.8.7.2 |
0.9.20 |
rubygem-yardopenEuler:20.03-LTS-SP1 |
before 0.9.26-1.oe1 | 0.9.26-1.oe1 |
rubygem-yardopenEuler:20.03-LTS-SP2 |
before 0.9.26-1.oe1 | 0.9.26-1.oe1 |
yardUbuntu:Pro:18.04:LTS |
before 0.9.12-2ubuntu0.1~esm1, plus listed versions 0.9.9-10.9.12-10.9.12-1ubuntu30.9.12-2 |
0.9.12-2ubuntu0.1~esm1 |
yardUbuntu:Pro:16.04:LTS From an advisory covering 3 CVEs |
before 0.8.7.6+git20160220-3ubuntu0.1~esm1, plus listed versions 0.8.7.6-10.8.7.6+git20160220-3 |
0.8.7.6+git20160220-3ubuntu0.1~esm1 |
yardUbuntu:Pro:18.04:LTS From an advisory covering 3 CVEs |
before 0.9.12-2ubuntu0.1~esm1, plus listed versions 0.9.9-10.9.12-10.9.12-1ubuntu30.9.12-2 |
0.9.12-2ubuntu0.1~esm1 |
yardUbuntu:20.04:LTS From an advisory covering 3 CVEs |
before 0.9.24-1+deb11u1build0.20.04.1, plus listed versions 0.9.16-10.9.20-10.9.24-1 |
0.9.24-1+deb11u1build0.20.04.1 |
yardUbuntu:22.04:LTS From an advisory covering 3 CVEs |
before 0.9.26-1ubuntu0.1, plus listed versions 0.9.24-10.9.26-1 |
0.9.26-1ubuntu0.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases, products | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2019-1020001 is a high vulnerability (CVSS 7.5) in Lsegal Yard, published July 2, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.33%, the 83rd percentile. Fixed in yard 0.9.20.
References
github.com/lsegal/yard/security/advisories/GHSA-xfhh-rx56-rxcr
lists.debian.org/debian-lts-announce/2024/03/msg00006.html
nvd.nist.gov/vuln/detail/CVE-2019-1020001
github.com/advisories/GHSA-xfhh-rx56-rxcr
security-tracker.debian.org/tracker/CVE-2019-1020001
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1289
Left out here: 24 versions. The JSON record has them.