{"id":"CVE-2020-5283","aliases":["EUVD-2020-26479","GHSA-xpxf-fvqv-7mfg","MGASA-2020-0221","UBUNTU-CVE-2020-5283","openSUSE-SU-2021:0084-1","openSUSE-SU-2021:0119-1","openSUSE-SU-2021:0123-1","openSUSE-SU-2021:0145-1","openSUSE-SU-2024:12857-1"],"status":"published","title":"XSS vulnerability in CVS show_subdir_lastmod support","description":"ViewVC before versions 1.1.28 and 1.2.1 has a XSS vulnerability in CVS show_subdir_lastmod support. The impact of this vulnerability is mitigated by the need for an attacker to have commit privileges to a CVS repository exposed by an otherwise trusted ViewVC instance that also has the `show_subdir_lastmod` feature enabled. The attack vector involves files with unsafe names (names that, when embedded into an HTML stream, would cause the browser to run unwanted code), which themselves can be challenging to create. This vulnerability is patched in versions 1.2.1 and 1.1.28.","severity":{"version":"3.1","score":3.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.01363,"percentile":0.71981,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79","CWE-80"],"published":"2020-04-03T00:10:13Z","modified":"2026-10-20T10:53:28Z","fixes":[{"ecosystem":"Mageia:7","package":"viewvc","fixed_in":["1.1.28-1.mga7"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.1","package":"viewvc","fixed_in":["1.1.28-lp151.3.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Package Hub 15 SP1","package":"viewvc","fixed_in":["1.1.28-bp151.4.3.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.2","package":"viewvc","fixed_in":["1.1.28-lp152.4.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Package Hub 15 SP2","package":"viewvc","fixed_in":["1.1.28-bp152.4.3.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Mageia:7","package":"viewvc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.28-1.mga7"}]}]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"viewvc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.1.22-1","1.1.22-1+deb8u1build0.16.04.1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"viewvc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.1.26-1"]},{"source":"osv","ecosystem":"openSUSE:Leap 15.1","package":"viewvc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.28-lp151.3.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Package Hub 15 SP1","package":"viewvc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.28-bp151.4.3.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"viewvc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.28-lp152.4.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Package Hub 15 SP2","package":"viewvc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.28-bp152.4.3.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"viewvc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.3.0~dev20230104-1.1"}]}],"bundled":2}],"products":[{"vendor":"viewvc","product":"viewvc"}],"references":[{"url":"https://github.com/viewvc/viewvc/security/advisories/GHSA-xpxf-fvqv-7mfg","tags":["x_refsource_CONFIRM","x_transferred","Mitigation","Patch","Third Party Advisory","fix","advisory","report"]},{"url":"https://github.com/viewvc/viewvc/issues/211","tags":["x_refsource_MISC","x_transferred","Exploit","Issue Tracking","Third Party Advisory","report"]},{"url":"https://github.com/viewvc/viewvc/commit/ad0f966e9a997b17d853a6972ea283d4dcd70fa8","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","report"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/2Q2STF2MKT24HXZ3YZIU7CN6F6QM67I5/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"https://advisories.mageia.org/MGASA-2020-0221.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=26628","tags":["report"]},{"url":"https://github.com/viewvc/viewvc/releases/tag/1.1.27","tags":["web"]},{"url":"https://github.com/viewvc/viewvc/releases/tag/1.1.28","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/thread/2Q2STF2MKT24HXZ3YZIU7CN6F6QM67I5/","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2020-5283","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-5283","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/MFA7OR2MLXELR6A6M634B47K2RIB7LYV/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1167974","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2020-5283","tags":["web"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/KGEO74AOMRFBUZ5VL2QLLN3TAWYC7ZKW/","tags":["advisory"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/MAJYDJLUUCZVZ2IZJFFWFQ663RENRLLG/","tags":["advisory"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/E2A7TO5T4QEJHRLA7YZBTOPVCY4745TO/","tags":["advisory"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2017-5938","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2020-5283","title":"XSS vulnerability in CVS show_subdir_lastmod support","description":"ViewVC before versions 1.1.28 and 1.2.1 has a XSS vulnerability in CVS show_subdir_lastmod support. The impact of this vulnerability is mitigated by the need for an attacker to have commit privileges to a CVS repository exposed by an otherwise trusted ViewVC instance that also has the `show_subdir_lastmod` feature enabled. The attack vector involves files with unsafe names (names that, when embedded into an HTML stream, would cause the browser to run unwanted code), which themselves can be challenging to create. This vulnerability is patched in versions 1.2.1 and 1.1.28.","status":"published","published":"2020-04-03T00:10:13Z","modified":"2024-08-04T08:22:09.095Z","cvss":[{"version":"3.1","score":3.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"cna"}],"cwes":["CWE-80"],"updated_at":"2026-11-02T14:35:47.877975Z"}],"euvd":[{"id":"EUVD-2020-26479","description":"ViewVC before versions 1.1.28 and 1.2.1 has a XSS vulnerability in CVS show_subdir_lastmod support. The impact of this vulnerability is mitigated by the need for an attacker to have commit privileges to a CVS repository exposed by an otherwise trusted ViewVC instance that also has the `show_subdir_lastmod` feature enabled. The attack vector involves files with unsafe names (names that, when embedded into an HTML stream, would cause the browser to run unwanted code), which themselves can be challenging to create. This vulnerability is patched in versions 1.2.1 and 1.1.28.","status":"published","published":"2020-04-03T00:10:13Z","modified":"2024-08-04T08:22:09Z","cvss":[{"version":"3.1","score":3.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low"}],"updated_at":"2026-11-03T03:08:07.28588Z"}],"nvd":[{"id":"CVE-2020-5283","description":"ViewVC before versions 1.1.28 and 1.2.1 has a XSS vulnerability in CVS show_subdir_lastmod support. The impact of this vulnerability is mitigated by the need for an attacker to have commit privileges to a CVS repository exposed by an otherwise trusted ViewVC instance that also has the `show_subdir_lastmod` feature enabled. The attack vector involves files with unsafe names (names that, when embedded into an HTML stream, would cause the browser to run unwanted code), which themselves can be challenging to create. This vulnerability is patched in versions 1.2.1 and 1.1.28.","status":"published","published":"2020-04-03T00:15:11.943Z","modified":"2026-06-17T03:21:11.94Z","cvss":[{"version":"3.1","score":3.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"secondary"},{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"primary"},{"version":"2.0","score":2.1,"vector":"AV:N/AC:H/Au:S/C:N/I:P/A:N","level":"low","assessor":"primary"}],"cwes":["CWE-80","CWE-79"],"updated_at":"2026-11-02T14:05:57.678762Z"}],"osv":[{"id":"CVE-2020-5283","description":"ViewVC before versions 1.1.28 and 1.2.1 has a XSS vulnerability in CVS show_subdir_lastmod support. The impact of this vulnerability is mitigated by the need for an attacker to have commit privileges to a CVS repository exposed by an otherwise trusted ViewVC instance that also has the `show_subdir_lastmod` feature enabled. The attack vector involves files with unsafe names (names that, when embedded into an HTML stream, would cause the browser to run unwanted code), which themselves can be challenging to create. This vulnerability is patched in versions 1.2.1 and 1.1.28.","status":"published","published":"2020-04-03T00:15:11.943Z","modified":"2026-10-20T10:53:28.648866407Z","cvss":[{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low"}],"updated_at":"2026-11-02T15:44:16.936975Z"},{"id":"UBUNTU-CVE-2020-5283","description":"ViewVC before versions 1.1.28 and 1.2.1 has a XSS vulnerability in CVS show_subdir_lastmod support. The impact of this vulnerability is mitigated by the need for an attacker to have commit privileges to a CVS repository exposed by an otherwise trusted ViewVC instance that also has the `show_subdir_lastmod` feature enabled. The attack vector involves files with unsafe names (names that, when embedded into an HTML stream, would cause the browser to run unwanted code), which themselves can be challenging to create. This vulnerability is patched in versions 1.2.1 and 1.1.28.","status":"published","published":"2020-04-03T00:15:00Z","modified":"2025-10-24T04:48:17Z","cvss":[{"version":"3.1","score":3.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low"},{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low"}],"updated_at":"2026-11-02T15:54:25.179924Z"},{"id":"MGASA-2020-0221","title":"Updated viewvc packages fix security vulnerability","description":"Updated viewvc package fixes security vulnerability:\n\nViewVC before versions 1.1.28 has an XSS vulnerability in CVS\nshow_subdir_lastmod support. The impact of this vulnerability is mitigated\nby the need for an attacker to have commit privileges to a CVS repository\nexposed by an otherwise trusted ViewVC instance that also has the\n`show_subdir_lastmod` feature enabled. The attack vector involves files\nwith unsafe names (names that, when embedded into an HTML stream, would\ncause the browser to run unwanted code), which themselves can be\nchallenging to create (CVE-2020-5283).\n\nThe viewvc package has been updated to version 1.1.28, fixing this issue\nand other bugs.\n","status":"published","published":"2020-05-24T18:04:47Z","modified":"2026-04-16T04:44:00.288639419Z","updated_at":"2026-11-02T15:49:41.151324Z"},{"id":"openSUSE-SU-2021:0084-1","title":"Security update for viewvc","description":"This update for viewvc fixes the following issues:\n\n- update to 1.1.28 (boo#1167974, CVE-2020-5283):\n  * security fix: escape subdir lastmod file name (#211)\n  * fix standalone.py first request failure (#195)\n  * suppress stack traces (with option to show) (#140)\n  * distinguish text/binary/image files by icons (#166, #175)\n  * colorize alternating file content lines (#167)\n  * link to the instance root from the ViewVC logo (#168)\n  * display directory and root counts, too (#169)\n  * fix double fault error in standalone.py (#157)\n  * support timezone offsets with minutes piece (#176)\n","status":"published","published":"2021-01-16T11:24:54Z","modified":"2026-02-04T02:38:20.031137Z","updated_at":"2026-11-02T16:58:31.879684Z"},{"id":"openSUSE-SU-2021:0119-1","title":"Security update for viewvc","description":"This update for viewvc fixes the following issues:\n\n- update to 1.1.28 (boo#1167974, CVE-2020-5283):\n  * security fix: escape subdir lastmod file name (#211)\n  * fix standalone.py first request failure (#195)\n  * suppress stack traces (with option to show) (#140)\n  * distinguish text/binary/image files by icons (#166, #175)\n  * colorize alternating file content lines (#167)\n  * link to the instance root from the ViewVC logo (#168)\n  * display directory and root counts, too (#169)\n  * fix double fault error in standalone.py (#157)\n  * support timezone offsets with minutes piece (#176)\n\nThis update was imported from the openSUSE:Leap:15.1:Update update project.","status":"published","published":"2021-01-19T15:26:25Z","modified":"2026-02-04T02:45:08.853666Z","updated_at":"2026-11-02T16:58:31.879684Z"},{"id":"openSUSE-SU-2021:0123-1","title":"Security update for viewvc","description":"This update for viewvc fixes the following issues:\n\n- update to 1.1.28 (boo#1167974, CVE-2020-5283):\n  * security fix: escape subdir lastmod file name (#211)\n  * fix standalone.py first request failure (#195)\n  * suppress stack traces (with option to show) (#140)\n  * distinguish text/binary/image files by icons (#166, #175)\n  * colorize alternating file content lines (#167)\n  * link to the instance root from the ViewVC logo (#168)\n  * display directory and root counts, too (#169)\n  * fix double fault error in standalone.py (#157)\n  * support timezone offsets with minutes piece (#176)\n\nThis update was imported from the openSUSE:Leap:15.1:Update update project.","status":"published","published":"2021-01-19T23:24:07Z","modified":"2026-02-04T03:16:11.322081Z","updated_at":"2026-11-02T16:58:31.879684Z"},{"id":"openSUSE-SU-2021:0145-1","title":"Security update for viewvc","description":"This update for viewvc fixes the following issues:\n\n- update to 1.1.28 (boo#1167974, CVE-2020-5283):\n  * security fix: escape subdir lastmod file name (#211)\n  * fix standalone.py first request failure (#195)\n  * suppress stack traces (with option to show) (#140)\n  * distinguish text/binary/image files by icons (#166, #175)\n  * colorize alternating file content lines (#167)\n  * link to the instance root from the ViewVC logo (#168)\n  * display directory and root counts, too (#169)\n  * fix double fault error in standalone.py (#157)\n  * support timezone offsets with minutes piece (#176)\n\nThis update was imported from the openSUSE:Leap:15.1:Update update project.\nThis update was imported from the openSUSE:Leap:15.2:Update update project.","status":"published","published":"2021-01-23T11:22:34Z","modified":"2026-02-04T02:39:23.477029Z","updated_at":"2026-11-02T16:58:31.879684Z"},{"id":"openSUSE-SU-2024:12857-1","title":"viewvc-1.3.0~dev20230104-1.1 on GA media","description":"These are all security issues fixed in the viewvc-1.3.0~dev20230104-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T02:23:09.902605Z","updated_at":"2026-11-02T16:58:36.025801Z"}]}}
