{"id":16587,"date":"2021-07-08T10:48:18","date_gmt":"2021-07-08T08:48:18","guid":{"rendered":"https:\/\/herolab-usd.formwandler.rocks\/security-advisories\/usd-2018-0034\/"},"modified":"2021-07-19T14:09:55","modified_gmt":"2021-07-19T12:09:55","slug":"usd-2018-0034","status":"publish","type":"page","link":"https:\/\/herolab.usd.de\/en\/security-advisories\/usd-2018-0034\/","title":{"rendered":"usd-2018-0034"},"content":{"rendered":"<p>[et_pb_section fb_built=\"1\" _builder_version=\"4.9.4\" _module_preset=\"default\" background_color=\"#2E353D\" custom_padding=\"||0px|||\"][et_pb_row _builder_version=\"4.9.4\" _module_preset=\"default\"][et_pb_column type=\"4_4\" _builder_version=\"4.9.4\" _module_preset=\"default\"][et_pb_text _builder_version=\"4.9.4\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\"]<\/p>\n<h1 class=\"h-custom-headline usd-small-letters h2\"><span>usd-2018-0034 | Dropbear\/2011.54 up to 2019.77<\/span><\/h1>\n<div class=\"x-text\"><\/div>\n<p><span><\/span><strong>Advisory ID<\/strong><span>: usd-2018-0034<\/span><br \/><strong>CVE-ID<\/strong><span>: CVE-2019-12953<\/span><br \/><strong>Affected Product<\/strong><span>: Dropbear<\/span><br \/><strong>Affected Version<\/strong><span>: 2011.54 up to 2019.77<\/span><br \/><strong>Vulnerability Type<\/strong><span>: User Enumeration<\/span><br \/><strong>Security Risk<\/strong><span>: Low<\/span><br \/><strong>Vendor URL<\/strong><span>: <\/span><a href=\"https:\/\/matt.ucc.asn.au\/dropbear\/dropbear.html\" target=\"_blank\" rel=\"noopener\">https:\/\/matt.ucc.asn.au\/dropbear\/dropbear.html<\/a><br \/><strong>Vendor Status<\/strong><span>: Fixed<\/span><\/p>\n<h3><\/h3>\n<h3>Description<\/h3>\n<p>Description based on commit <a href=\"https:\/\/github.com\/mkj\/dropbear\/commit\/6f6ef4834c792f7ccf2409080a6adaf44b8f0d51\" target=\"_blank\" rel=\"noopener\">6f6ef4834c792f7ccf2409080a6adaf44b8f0d51<\/a><\/p>\n<p>Dropbear does not crypt the password if the username is invalid. By sending<br \/>a long password, it is possible to measure time difference and enumerate<br \/>valid\/invalid usernames.<\/p>\n<h3><\/h3>\n<h3>Proof of Concept (PoC)<\/h3>\n<p><span>Vulnerable code example:<\/span><\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\"4.9.4\" _module_preset=\"9e260d37-0be2-4a12-a10e-3ed7e27b6ac6\" hover_enabled=\"0\" sticky_enabled=\"0\"]svr-authpasswd.c<\/p>\n<p>password = buf_getstring(ses.payload, &amp;amp;passwordlen);<br \/>\nif (valid_user) {<br \/>\n\/* the first bytes of passwdcrypt are the salt *\/<br \/>\npasswdcrypt = ses.authstate.pw_passwd;<br \/>\ntestcrypt = crypt(password, passwdcrypt);<br \/>\n}<\/code><\/pre>\n<p>[\/et_pb_text][et_pb_text _builder_version=\"4.9.4\" _module_preset=\"cc5ac6f4-ebbd-4b3f-bc92-4dfc1f15fe2c\"]<\/p>\n<div class=\"e16902-22 x-container max width\">\n<div class=\"e16902-23 x-column x-sm x-1-1\">\n<h3>Fix<\/h3>\n<div class=\"e11189-17 x-container max width\">\n<div class=\"e11189-18 x-column x-sm x-1-1\">\n<div class=\"x-text\">\n<p>Make sure that the different branches in the authentication process all require the same execution time in order to hinder timing attacks.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"e11189-21 x-container max width\"><\/div>\n<h3><\/h3>\n<h3><\/h3>\n<h3>Timeline<\/h3>\n<ul>\n<li>2018-10-19 Daniel Hoffmann discovered the bug<\/li>\n<li>2018-11-02 notification to matt@ucc.asn.au<\/li>\n<li>2018-11-04 received response stating to fix the vulnerability<\/li>\n<li>2018-11-05 the developer tried to mitigate the issue (commit 02ffdd09dc1941f7a924cde8db288fcd64987f59)<\/li>\n<li>2019-01-07 verified that exploit still works (commit cb945f9f670e95305c7c5cc5ff344d1f2707b602)<\/li>\n<li>2019-01-11 sent disclosure reminder<\/li>\n<li>2019-01-30 Security advisory released<\/li>\n<li>2019-03-23 vendor releases fixed version 2019.77 (commit 8b4f60a7a113f4e9ae801dea88606f2663728f03)<\/li>\n<\/ul>\n<h3>Credits<\/h3>\n<p><span>This security vulnerability was found by Daniel Hoffmann of usd AG.<\/span><\/p>\n<\/div>\n<\/div>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>usd-2018-0034 | Dropbear\/2011.54 up to 2019.77 Advisory ID: usd-2018-0034CVE-ID: CVE-2019-12953Affected Product: DropbearAffected Version: 2011.54 up to 2019.77Vulnerability Type: User EnumerationSecurity Risk: LowVendor URL: https:\/\/matt.ucc.asn.au\/dropbear\/dropbear.htmlVendor Status: Fixed Description Description based on commit 6f6ef4834c792f7ccf2409080a6adaf44b8f0d51 Dropbear does not crypt the password if the username is invalid. By sendinga long password, it is possible to measure time difference and [&hellip;]<\/p>\n","protected":false},"author":96,"featured_media":0,"parent":16124,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"class_list":["post-16587","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/16587","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/users\/96"}],"replies":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/comments?post=16587"}],"version-history":[{"count":0,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/16587\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/pages\/16124"}],"wp:attachment":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/media?parent=16587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}