{"id":"CVE-2019-1020001","aliases":["DEBIAN-CVE-2019-1020001","DLA-3753-1","EUVD-2019-0611","GHSA-xfhh-rx56-rxcr","OESA-2021-1289","UBUNTU-CVE-2019-1020001","USN-6731-1"],"status":"published","title":"Path Traversal vulnerability that affects yard","description":"yard before 0.9.20 allows path traversal.","severity":{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-11","score":0.02334,"percentile":0.83792,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22"],"published":"2019-07-02T15:28:38Z","modified":"2026-10-20T10:50:36Z","fixes":[{"ecosystem":"RubyGems","package":"yard","fixed_in":["0.9.20"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"yard","fixed_in":["0.9.20-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"yard","fixed_in":["0.9.20-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"yard","fixed_in":["0.9.20-1"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP1","package":"rubygem-yard","fixed_in":["0.9.26-1.oe1"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP2","package":"rubygem-yard","fixed_in":["0.9.26-1.oe1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"yard","fixed_in":["0.9.12-2ubuntu0.1~esm1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"RubyGems","package":"yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.20"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.20-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.20-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.20-1"}]}]},{"source":"osv","ecosystem":"Debian:10","package":"yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.16-1+deb10u1"}]}],"versions":["0.9.16-1"],"bundled":2},{"source":"osv","ecosystem":"RubyGems","package":"yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.20"}]}],"versions":["0.2.0","0.2.1","0.2.2","0.2.3","0.2.3.2","0.2.3.3","0.2.3.4","0.2.3.5","0.4.0","0.5.0","0.5.1","0.5.1p1","0.5.2","0.5.3","0.5.4","0.5.5","0.5.6","0.5.7","0.5.8","0.6.0","0.6.1","0.6.2","0.6.3","0.6.4","0.6.5","0.6.6","0.6.7","0.6.8","0.7.0","0.7.1","0.7.2","0.7.3","0.7.4","0.7.5","0.8.0","0.8.1","0.8.2","0.8.2.1","0.8.3","0.8.4","0.8.4.1","0.8.5","0.8.5.1","0.8.5.2","0.8.6","0.8.6.1","0.8.6.2","0.8.7","0.8.7.1","0.8.7.2","0.8.7.3","0.8.7.4","0.8.7.5","0.8.7.6","0.9.0","0.9.1","0.9.10","0.9.11","0.9.12","0.9.13","0.9.14","0.9.15","0.9.16","0.9.17","0.9.18","0.9.19","0.9.2","0.9.3","0.9.4","0.9.5","0.9.6","0.9.7","0.9.8","0.9.9"]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP1","package":"rubygem-yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.26-1.oe1"}]}]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP2","package":"rubygem-yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.26-1.oe1"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.12-2ubuntu0.1~esm1"}]}],"versions":["0.9.9-1","0.9.12-1","0.9.12-1ubuntu3","0.9.12-2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.8.7.6+git20160220-3ubuntu0.1~esm1"}]}],"versions":["0.8.7.6-1","0.8.7.6+git20160220-3"],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.12-2ubuntu0.1~esm1"}]}],"versions":["0.9.9-1","0.9.12-1","0.9.12-1ubuntu3","0.9.12-2"],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.24-1+deb11u1build0.20.04.1"}]}],"versions":["0.9.16-1","0.9.20-1","0.9.24-1"],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"yard","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.26-1ubuntu0.1"}]}],"versions":["0.9.24-1","0.9.26-1"],"bundled":3}],"products":[{"vendor":"lsegal","product":"yard"},{"vendor":"yard","product":"yard"},{"vendor":"yardoc","product":"yard"}],"references":[{"url":"https://github.com/lsegal/yard/security/advisories/GHSA-xfhh-rx56-rxcr","tags":["x_transferred","Mitigation","Third Party Advisory","advisory","web","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2024/03/msg00006.html","tags":["mailing-list","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-1020001","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-xfhh-rx56-rxcr","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2019-1020001","tags":["advisory"]},{"url":"https://openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1289","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2019-1020001","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2019-1020001","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-6731-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2017-17042","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2024-27285","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2019-1020001","description":"yard before 0.9.20 allows path traversal.","status":"published","published":"2019-07-29T00:00:00Z","modified":"2024-08-05T03:14:15.223Z","updated_at":"2026-11-02T14:20:18.746972Z"}],"euvd":[{"id":"EUVD-2019-0611","description":"yard before 0.9.20 allows path traversal.","status":"published","published":"2019-07-29T00:00:00Z","modified":"2024-08-05T03:14:15Z","updated_at":"2026-11-03T02:40:18.85013Z"}],"ghsa":[{"id":"GHSA-xfhh-rx56-rxcr","title":"Path Traversal vulnerability that affects yard","description":"## Possible arbitrary path traversal and file access via `yard server`\n\n### Impact\n\nA path traversal vulnerability was discovered in YARD \u003c= 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.\n\nThanks to CuongMX from Viettel Cyber Security for discovering this vulnerability.\n\n### Patches\n\nPlease upgrade to YARD v0.9.20 immediately if you are relying on yard server to host documentation in any untrusted environments.\n\n### Workarounds\n\nFor 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.","status":"published","published":"2019-07-02T15:28:38Z","modified":"2024-03-07T00:30:48Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:37:40.81935Z"}],"nvd":[{"id":"CVE-2019-1020001","description":"yard before 0.9.20 allows path traversal.","status":"published","published":"2019-07-29T13:15:11.623Z","modified":"2026-06-17T02:09:59.263Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:P/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:05:21.892729Z"}],"osv":[{"id":"CVE-2019-1020001","description":"yard before 0.9.20 allows path traversal.","status":"published","published":"2019-07-29T13:15:11.623Z","modified":"2026-10-20T10:50:36.186979503Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T15:44:10.383287Z"},{"id":"DEBIAN-CVE-2019-1020001","description":"yard before 0.9.20 allows path traversal.","status":"published","published":"2019-07-29T13:15:11.623Z","modified":"2026-09-21T07:01:43.32241953Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T15:45:31.170944Z"},{"id":"GHSA-xfhh-rx56-rxcr","title":"Path Traversal vulnerability that affects yard","description":"## Possible arbitrary path traversal and file access via `yard server`\n\n### Impact\n\nA path traversal vulnerability was discovered in YARD \u003c= 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.\n\nThanks to CuongMX from Viettel Cyber Security for discovering this vulnerability.\n\n### Patches\n\nPlease upgrade to YARD v0.9.20 immediately if you are relying on yard server to host documentation in any untrusted environments.\n\n### Workarounds\n\nFor 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.","status":"published","published":"2019-07-02T15:28:38Z","modified":"2026-09-10T03:48:25.196120356Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:46:59.835583Z"},{"id":"OESA-2021-1289","title":"rubygem-yard security update","description":"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.\r\n\r\nSecurity Fix(es):\r\n\r\nyard before 0.9.20 allows path traversal.(CVE-2019-1020001)","status":"published","published":"2021-07-31T11:04:31Z","modified":"2026-08-18T01:15:50.511182957Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T15:52:38.987987Z"},{"id":"UBUNTU-CVE-2019-1020001","description":"yard before 0.9.20 allows path traversal.","status":"published","published":"2019-07-29T13:15:00Z","modified":"2026-02-04T03:20:51.436955Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T15:54:19.202697Z"},{"id":"DLA-3753-1","title":"yard - security update","status":"published","published":"2024-03-06T00:00:00Z","modified":"2026-03-09T01:22:54.608571Z","updated_at":"2026-11-02T15:46:12.203458Z"},{"id":"USN-6731-1","title":"yard vulnerabilities","description":"It was discovered that YARD before 0.9.11 does not block relative paths\nwith an initial ../ sequence, which allows attackers to conduct\ndirectory traversal attacks and read arbitrary files. This issue only\naffected Ubuntu 16.04 LTS. (CVE-2017-17042)\n\nIt was discovered that yard before 0.9.20 is affected by a path\ntraversal vulnerability, allowing HTTP requests to access arbitrary\nfiles under certain conditions. This issue only affected Ubuntu 18.04\nLTS. (CVE-2019-1020001)\n\nAviv Keller discovered that the \"frames.html\" file within the Yard\nDoc's generated documentation is vulnerable to Cross-Site Scripting\n(XSS) attacks due to inadequate sanitization of user input within the\nJavaScript segment of the \"frames.erb\" template file. (CVE-2024-27285)\n","status":"published","published":"2024-04-15T10:27:32Z","modified":"2026-06-25T13:32:28.72936374Z","updated_at":"2026-11-02T16:58:17.914523Z"}]}}
