{"id":"CVE-2018-20340","aliases":["DEBIAN-CVE-2018-20340","DSA-4389-1","EUVD-2018-12898","GHSA-rc58-rfcj-mcrr","SUSE-SU-2019:1340-1","SUSE-SU-2019:1749-1","SUSE-SU-2021:1755-1","UBUNTU-CVE-2018-20340","openSUSE-SU-2019:1475-1","openSUSE-SU-2021:0799-1","openSUSE-SU-2021:1755-1"],"status":"published","title":"Yubico libu2f-host 1.1.6 contains unchecked buffers in devs.c, which could enable a malicious...","description":"Yubico libu2f-host 1.1.6 contains unchecked buffers in devs.c, which could enable a malicious token to exploit a buffer overflow. An attacker could use this to attempt to execute malicious code using a crafted USB device masquerading as a security token on a computer where the affected library is currently in use. It is not possible to perform this attack with a genuine YubiKey.","severity":{"version":"3.0","score":6.8,"vector":"CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-07","score":0.00499,"percentile":0.43037,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-119"],"published":"2019-02-08T11:00:00Z","modified":"2026-10-23T18:04:47Z","fixes":[{"ecosystem":"Debian:12","package":"libu2f-host","fixed_in":["1.1.7-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"libu2f-host","fixed_in":["1.1.7-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"libu2f-host","fixed_in":["1.1.7-1"],"sources":["osv"]},{"ecosystem":"Debian:9","package":"libu2f-host","fixed_in":["1.1.2-2+deb9u1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15","package":"libu2f-host","fixed_in":["1.1.6-3.3.3"],"sources":["osv"]},{"ecosystem":"Ubuntu:18.04:LTS","package":"libu2f-host","fixed_in":["1.1.4-1ubuntu0.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.0","package":"libu2f-host","fixed_in":["1.1.6-lp151.2.3.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.1","package":"libu2f-host","fixed_in":["1.1.6-lp151.2.3.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.7-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.7-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.7-1"}]}]},{"source":"osv","ecosystem":"Debian:9","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.2-2+deb9u1"}]}],"versions":["1.1.2-2"]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.6-3.3.3"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Desktop 12 SP4","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.6-3.5.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Desktop 12 SP4","package":"pam_u2f","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.8-3.3.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP4","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.6-3.5.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 12 SP4","package":"pam_u2f","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.8-3.3.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP4","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.6-3.5.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 12 SP4","package":"pam_u2f","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.8-3.3.1"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP2","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.10-3.9.1"}]}],"bundled":2},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP3","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.10-3.9.1"}]}],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.0.4-1","1.0.0-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.4-1ubuntu0.1"}]}],"versions":["1.1.3-1","1.1.4-1"]},{"source":"osv","ecosystem":"openSUSE:Leap 15.0","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.6-lp151.2.3.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 15.1","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.6-lp151.2.3.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.10-lp152.4.3.1"}]}],"bundled":2},{"source":"osv","ecosystem":"openSUSE:Leap 15.3","package":"libu2f-host","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.10-3.9.1"}]}],"bundled":2}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"yubico","product":"libu2f-host"}],"references":[{"url":"https://seclists.org/bugtraq/2019/Feb/23","tags":["x_refsource_MISC","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"https://www.debian.org/security/2019/dsa-4389","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory"]},{"url":"https://www.yubico.com/support/security-advisories/ysa-2019-01/","tags":["x_refsource_CONFIRM","x_transferred","Patch","Vendor Advisory","fix"]},{"url":"https://developers.yubico.com/libu2f-host/Release_Notes.html","tags":["x_refsource_CONFIRM","x_transferred","Release Notes","Vendor Advisory","advisory"]},{"url":"https://blog.inhq.net/posts/yubico-libu2f-host-vuln-part1/","tags":["x_refsource_MISC","x_transferred","article"]},{"url":"https://security.gentoo.org/glsa/202004-15","tags":["vendor-advisory","x_refsource_GENTOO","x_transferred","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-20340"},{"url":"https://github.com/advisories/GHSA-rc58-rfcj-mcrr"},{"url":"https://security-tracker.debian.org/tracker/CVE-2018-20340","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2019/suse-su-20191340-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1124781","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2018-20340","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2019/suse-su-20191749-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1128140","tags":["report"]},{"url":"https://bugzilla.suse.com/1135727","tags":["report"]},{"url":"https://bugzilla.suse.com/1135729","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2019-12209","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-12210","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-9578","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2021/suse-su-20211755-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1184648","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2018-20340","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2018-20340","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/EQ36UOSV6ZRKJLN2XKDNYOB7MKQAPYUE/#EQ36UOSV6ZRKJLN2XKDNYOB7MKQAPYUE","tags":["advisory"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/QRDOETNQVM5LVLJRZMNGQEBNRFW4ZWEV/","tags":["advisory"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/W6NOI7O3I53SFL6DVLZH5VWF6EO4AISA/","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2018-20340","description":"Yubico libu2f-host 1.1.6 contains unchecked buffers in devs.c, which could enable a malicious token to exploit a buffer overflow. An attacker could use this to attempt to execute malicious code using a crafted USB device masquerading as a security token on a computer where the affected library is currently in use. It is not possible to perform this attack with a genuine YubiKey.","status":"published","published":"2019-03-17T20:06:42Z","modified":"2024-08-05T11:58:18.796Z","updated_at":"2026-11-02T14:34:59.872731Z"}],"euvd":[{"id":"EUVD-2018-12898","description":"Yubico libu2f-host 1.1.6 contains unchecked buffers in devs.c, which could enable a malicious token to exploit a buffer overflow. An attacker could use this to attempt to execute malicious code using a crafted USB device masquerading as a security token on a computer where the affected library is currently in use. It is not possible to perform this attack with a genuine YubiKey.","status":"published","published":"2019-03-17T20:06:42Z","modified":"2024-08-05T11:58:18Z","updated_at":"2026-11-03T02:39:31.423203Z"}],"ghsa":[{"id":"GHSA-rc58-rfcj-mcrr","title":"Yubico libu2f-host 1.1.6 contains unchecked buffers in devs.c, which could enable a malicious...","description":"Yubico libu2f-host 1.1.6 contains unchecked buffers in devs.c, which could enable a malicious token to exploit a buffer overflow. An attacker could use this to attempt to execute malicious code using a crafted USB device masquerading as a security token on a computer where the affected library is currently in use. It is not possible to perform this attack with a genuine YubiKey.","status":"published","published":"2022-05-13T01:30:24Z","modified":"2023-02-01T05:08:13Z","cvss":[{"version":"3.0","score":6.8,"vector":"CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"medium"}],"cwes":["CWE-119"],"updated_at":"2026-11-02T14:50:42.317052Z"}],"nvd":[{"id":"CVE-2018-20340","description":"Yubico libu2f-host 1.1.6 contains unchecked buffers in devs.c, which could enable a malicious token to exploit a buffer overflow. An attacker could use this to attempt to execute malicious code using a crafted USB device masquerading as a security token on a computer where the affected library is currently in use. It is not possible to perform this attack with a genuine YubiKey.","status":"published","published":"2019-03-21T16:00:35.983Z","modified":"2026-06-17T01:52:39.347Z","cvss":[{"version":"3.0","score":6.8,"vector":"CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"medium","assessor":"primary"},{"version":"2.0","score":4.6,"vector":"AV:L/AC:L/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-119"],"updated_at":"2026-11-02T14:04:54.21788Z"}],"osv":[{"id":"CVE-2018-20340","description":"Yubico libu2f-host 1.1.6 contains unchecked buffers in devs.c, which could enable a malicious token to exploit a buffer overflow. An attacker could use this to attempt to execute malicious code using a crafted USB device masquerading as a security token on a computer where the affected library is currently in use. It is not possible to perform this attack with a genuine YubiKey.","status":"published","published":"2019-03-21T16:00:35.983Z","modified":"2026-03-15T22:19:51.161746Z","cvss":[{"version":"3.0","score":6.8,"vector":"CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"medium"}],"updated_at":"2026-11-02T15:44:09.145458Z"},{"id":"DEBIAN-CVE-2018-20340","description":"Yubico libu2f-host 1.1.6 contains unchecked buffers in devs.c, which could enable a malicious token to exploit a buffer overflow. An attacker could use this to attempt to execute malicious code using a crafted USB device masquerading as a security token on a computer where the affected library is currently in use. It is not possible to perform this attack with a genuine YubiKey.","status":"published","published":"2019-03-21T16:00:35.983Z","modified":"2026-10-23T18:04:47.815169723Z","cvss":[{"version":"3.0","score":6.8,"vector":"CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"medium"}],"updated_at":"2026-11-02T15:45:30.57382Z"},{"id":"UBUNTU-CVE-2018-20340","description":"Yubico libu2f-host 1.1.6 contains unchecked buffers in devs.c, which could enable a malicious token to exploit a buffer overflow. An attacker could use this to attempt to execute malicious code using a crafted USB device masquerading as a security token on a computer where the affected library is currently in use. It is not possible to perform this attack with a genuine YubiKey.","status":"published","published":"2019-02-08T11:00:00Z","modified":"2026-04-22T11:38:28.490688Z","cvss":[{"version":"3.0","score":6.8,"vector":"CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"medium"}],"updated_at":"2026-11-02T15:54:17.91743Z"},{"id":"DSA-4389-1","title":"libu2f-host - security update","status":"published","published":"2019-02-11T00:00:00Z","modified":"2026-03-09T02:11:26.436117Z","updated_at":"2026-11-02T15:46:16.862196Z"},{"id":"openSUSE-SU-2019:1475-1","title":"Security update for libu2f-host","description":"This update for libu2f-host fixes the following issues:\n\t  \nSecurity issue fixed: \n\n- CVE-2018-20340: Fixed an unchecked buffer, which could allow a buffer overflow \n  with a custom made malicious USB device (bsc#1124781).\n  \nThis update was imported from the SUSE:SLE-15:Update update project.","status":"published","published":"2019-05-30T06:17:52Z","modified":"2026-02-04T02:38:59.599025Z","updated_at":"2026-11-02T16:58:30.784344Z"},{"id":"openSUSE-SU-2021:0799-1","title":"Security update for libu2f-host","description":"This update for libu2f-host fixes the following issues:\n\nThis update ships the u2f-host package (jsc#ECO-3687 bsc#1184648)\n\nVersion 1.1.10 (released 2019-05-15)\n\n- Add new devices to udev rules.\n- Fix a potentially uninitialized buffer (CVE-2019-9578, bsc#1128140)\n\nVersion 1.1.9 (released 2019-03-06)\n\n- Fix CID copying from the init response, which broke compatibility with\nsome devices.\n\nVersion 1.1.8 (released 2019-03-05)\n\n- Add udev rules\n- Drop 70-old-u2f.rules and use 70-u2f.rules for everything\n- Use a random nonce for setting up CID to prevent fingerprinting\n- CVE-2019-9578: Parse the response to init in a more stable way to prevent\n  leakage of uninitialized stack memory back to the device (bsc#1128140).\n\nVersion 1.1.7 (released 2019-01-08)\n\n- Fix for trusting length from device in device init.\n- Fix for buffer overflow when receiving data from device. (YSA-2019-01,\n  CVE-2018-20340, bsc#1124781)\n- Add udev rules for some new devices.\n\n- Add udev rule for Feitian ePass FIDO \n  - Add a timeout to the register and authenticate actions.\nThis update was imported from the SUSE:SLE-15:Update update project.","status":"published","published":"2021-05-28T16:05:18Z","modified":"2026-02-04T03:33:37.109878Z","updated_at":"2026-11-02T16:58:31.879684Z"},{"id":"openSUSE-SU-2021:1755-1","title":"Security update for libu2f-host","description":"This update for libu2f-host fixes the following issues:\n\nThis update ships the u2f-host package (jsc#ECO-3687 bsc#1184648)\n\nVersion 1.1.10 (released 2019-05-15)\n\n- Add new devices to udev rules.\n- Fix a potentially uninitialized buffer (CVE-2019-9578, bsc#1128140)\n\nVersion 1.1.9 (released 2019-03-06)\n\n- Fix CID copying from the init response, which broke compatibility with\nsome devices.\n\nVersion 1.1.8 (released 2019-03-05)\n\n- Add udev rules\n- Drop 70-old-u2f.rules and use 70-u2f.rules for everything\n- Use a random nonce for setting up CID to prevent fingerprinting\n- CVE-2019-9578: Parse the response to init in a more stable way to prevent\n  leakage of uninitialized stack memory back to the device (bsc#1128140).\n\nVersion 1.1.7 (released 2019-01-08)\n\n- Fix for trusting length from device in device init.\n- Fix for buffer overflow when receiving data from device. (YSA-2019-01,\n  CVE-2018-20340, bsc#1124781)\n- Add udev rules for some new devices.\n\n- Add udev rule for Feitian ePass FIDO \n  - Add a timeout to the register and authenticate actions.","status":"published","published":"2021-07-10T18:57:28Z","modified":"2026-02-04T04:39:02.697116Z","updated_at":"2026-11-02T16:58:32.266854Z"},{"id":"SUSE-SU-2019:1340-1","title":"Security update for libu2f-host","description":"This update for libu2f-host fixes the following issues:\n\t  \nSecurity issue fixed: \n\n- CVE-2018-20340: Fixed an unchecked buffer, which could allow a buffer overflow \n  with a custom made malicious USB device (bsc#1124781).\n  ","status":"published","published":"2019-05-24T10:57:35Z","modified":"2026-02-04T02:25:59.868957Z","updated_at":"2026-11-02T15:53:45.926331Z"},{"id":"SUSE-SU-2019:1749-1","title":"Security update for libu2f-host","description":"This update for libu2f-host and pam_u2f to version 1.0.8 fixes the following issues:\n\t  \nSecurity issues fixed for libu2f-host: \n\n- CVE-2019-9578: Fixed a memory leak due to a wrong parse of init's response (bsc#1128140).\n- CVE-2018-20340: Fixed an unchecked buffer, which could allow a buffer overflow \n  with a custom made malicious USB device (bsc#1124781).\n\nSecurity issues fixed for pam_u2f:\n\n- CVE-2019-12209: Fixed an issue where symlinks in the user's directory were followed (bsc#1135729).\n- CVE-2019-12210: Fixed file descriptor leaks (bsc#1135727).\n","status":"published","published":"2019-07-04T14:06:56Z","modified":"2026-02-04T04:38:13.599936Z","updated_at":"2026-11-02T15:53:46.44301Z"},{"id":"SUSE-SU-2021:1755-1","title":"Security update for libu2f-host","description":"This update for libu2f-host fixes the following issues:\n\nThis update ships the u2f-host package (jsc#ECO-3687 bsc#1184648)\n\nVersion 1.1.10 (released 2019-05-15)\n\n- Add new devices to udev rules.\n- Fix a potentially uninitialized buffer (CVE-2019-9578, bsc#1128140)\n\nVersion 1.1.9 (released 2019-03-06)\n\n- Fix CID copying from the init response, which broke compatibility with\nsome devices.\n\nVersion 1.1.8 (released 2019-03-05)\n\n- Add udev rules\n- Drop 70-old-u2f.rules and use 70-u2f.rules for everything\n- Use a random nonce for setting up CID to prevent fingerprinting\n- CVE-2019-9578: Parse the response to init in a more stable way to prevent\n  leakage of uninitialized stack memory back to the device (bsc#1128140).\n\nVersion 1.1.7 (released 2019-01-08)\n\n- Fix for trusting length from device in device init.\n- Fix for buffer overflow when receiving data from device. (YSA-2019-01,\n  CVE-2018-20340, bsc#1124781)\n- Add udev rules for some new devices.\n\n- Add udev rule for Feitian ePass FIDO \n  - Add a timeout to the register and authenticate actions.","status":"published","published":"2021-05-25T11:30:09Z","modified":"2026-02-04T02:59:35.429606Z","updated_at":"2026-11-02T15:53:49.138643Z"}]}}
