[SYSS-2019-027]: Inateck BCST-60 Barcode Scanner - Keystroke Injection Vulnerability (CVE-2019-12503)

Related Vulnerabilities: CVE-2019-12503  
                							

                <!--X-Body-Begin-->
<!--X-User-Header-->
<a href="/fulldisclosure/"><img src="/images/fulldisclosure-logo.png" class="l-logo right" alt="fulldisclosure logo" width="80"></a>
<h2 class="m-list"><a href="/fulldisclosure/">Full Disclosure</a>
mailing list archives</h2>
<!--X-User-Header-End-->
<!--X-TopPNI-->
<div class="nav-bar">
<div class="nav-link">
<a href="29"><img src="/images/left-icon-16x16.png" alt="Previous" width="16" height="16"></a>
<a href="date.html#30">By Date</a>
<a href="31"><img src="/images/right-icon-16x16.png" alt="Next" width="16" height="16"></a>
</div>
<div class="nav-link">
<a href="29"><img src="/images/left-icon-16x16.png" alt="Previous" width="16" height="16"></a>
<a href="index.html#30">By Thread</a>
<a href="31"><img src="/images/right-icon-16x16.png" alt="Next" width="16" height="16"></a>
</div>
<form class="nst-search center" action="/search/fulldisclosure">
<input class="nst-search-q" name="q" type="search" placeholder="List Archive Search">
<button class="nst-search-button" title="Search">
<img style="width:100%;aspect-ratio:1/1;" alt="" aria-hidden="true" src="/shared/images/nst-icons.svg#search">
</button>
</form>

</div>

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<h1 class="m-title">[SYSS-2019-027]: Inateck BCST-60 Barcode Scanner - Keystroke Injection Vulnerability (CVE-2019-12503)</h1>
<hr>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->


<em>From</em>: Matthias Deeg &lt;matthias.deeg () syss de&gt;


<em>Date</em>: Thu, 28 Nov 2019 08:11:43 +0100


<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<hr>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<pre style="margin: 0em;">Advisory ID: SYSS-2019-027
Product: BCST-60 Barcode Scanner
Manufacturer: Inateck
Affected Version(s): BCST-60
Tested Version(s): BCST-60
Vulnerability Type: Cryptographic Issues (CWE-310)
                    Keystroke Injection Vulnerability
Risk Level: High
Solution Status: Open
Manufacturer Notification: 2019-05-22
Solution Date: -
Public Disclosure: 2019-11-28
CVE Reference: CVE-2019-12503
Author of Advisory: Matthias Deeg (SySS GmbH)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Overview:

Inateck BCST-60 is a barcode scanner that can be either used wirelessly
using 2.4 GHz radio communication or wired via USB.

The manufacturer describes the product as follows [1]:

"With a 2.4G wireless connection, avoid the troubles of Bluetooth
pairing. Inateck BCST-60 is a leading product among scanners in the
field of large transmission ranges and battery endurance. What's more,
it can read barcodes at extreme angles. Whether you need barcode
scanning at your retail POS, at a hospital patient's bedside, on the
manufacturing production line or your warehouse, the Inateck BCST-60
will be a great fit for your specific needs."

Due to an insecure implementation of the data communication, the
wireless barcode scanner Inateck BCST-60 is vulnerable to keystroke
injection attacks.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Vulnerability Details:

SySS GmbH found out that the wireless barcode scanner Inateck BCST-60 is
vulnerable to keystroke injection attacks.

An attacker can analyze the unencrypted and unauthenticated data packets
of the 2.4 GHz radio communication sent by the wireless barcode scanner
to the receiver (USB dongle) in order to learn the used protocol. By
knowing the used data protocol, it is possible to send packets to the
USB dongle (receiver) of a target system, containing attacker-controlled
keystrokes or keystroke sequences.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Proof of Concept (PoC):

SySS GmbH could successfully perform keystroke injection attacks against
the wireless barcode scanner Inateck BCST-60 using a developed
proof-of-concept software tool in combination with the USB radio dongle
Crazyradio PA and the nrf-research-firmware by Marc Newlin [2, 3].

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Solution:

SySS GmbH is not aware of a solution for this reported security
vulnerability.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Disclosure Timeline:

2019-05-22: Vulnerability reported to manufacturer
2019-11-28: Public release of security advisory

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

References:

[1] Product website for Inateck BCST-60 barcode scanner

<a rel="nofollow" href="https://www.inateck.com/bcst-60-2-4ghz-wireless-barcode-scanner-with-35m-range.html">https://www.inateck.com/bcst-60-2-4ghz-wireless-barcode-scanner-with-35m-range.html</a>
[2] Product website for Crazyradio PA
    <a rel="nofollow" href="https://www.bitcraze.io/crazyradio-pa/">https://www.bitcraze.io/crazyradio-pa/</a>
[3] nRF24 research firmware and tools by Marc Newlin
    <a rel="nofollow" href="https://github.com/marcnewlin/presentation-clickers">https://github.com/marcnewlin/presentation-clickers</a>
[4] SySS Security Advisory SYSS-2019-027

<a rel="nofollow" href="https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2019-027.txt">https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2019-027.txt</a>
[5] SySS Responsible Disclosure Policy
    <a rel="nofollow" href="https://www.syss.de/en/responsible-disclosure-policy/">https://www.syss.de/en/responsible-disclosure-policy/</a>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Credits:

This security vulnerability was found by Matthias Deeg of SySS GmbH.

E-Mail: matthias.deeg (at) syss.de
Public Key:
<a rel="nofollow" href="https://www.syss.de/fileadmin/dokumente/PGPKeys/Matthias_Deeg.asc">https://www.syss.de/fileadmin/dokumente/PGPKeys/Matthias_Deeg.asc</a>
Key fingerprint = D1F0 A035 F06C E675 CDB9 0514 D9A4 BF6A 34AD 4DAB

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Disclaimer:

The information provided in this security advisory is provided "as is"
and without warranty of any kind. Details of this security advisory may
be updated in order to provide as accurate information as possible. The
latest version of this security advisory is available on the SySS Web
site.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Copyright:

Creative Commons - Attribution (by) - Version 3.0
URL: <a rel="nofollow" href="http://creativecommons.org/licenses/by/3.0/deed.en">http://creativecommons.org/licenses/by/3.0/deed.en</a>


</pre><p><strong>Attachment:
<a href="att-30/signature_asc.bin"><tt>signature.asc</tt></a></strong>

<em>Description:</em> OpenPGP digital signature</p>
<pre style="margin: 0em;">
_______________________________________________
Sent through the Full Disclosure mailing list
<a rel="nofollow" href="https://nmap.org/mailman/listinfo/fulldisclosure">https://nmap.org/mailman/listinfo/fulldisclosure</a>
Web Archives &amp; RSS: <a rel="nofollow" href="http://seclists.org/fulldisclosure/">http://seclists.org/fulldisclosure/</a></pre>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<hr>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<div class="nav-bar">
<div class="nav-link">
<a href="29"><img src="/images/left-icon-16x16.png" alt="Previous" width="16" height="16"></a>
<a href="date.html#30">By Date</a>
<a href="31"><img src="/images/right-icon-16x16.png" alt="Next" width="16" height="16"></a>
</div>
<div class="nav-link">
<a href="29"><img src="/images/left-icon-16x16.png" alt="Previous" width="16" height="16"></a>
<a href="index.html#30">By Thread</a>
<a href="31"><img src="/images/right-icon-16x16.png" alt="Next" width="16" height="16"></a>
</div>
</div>
<h3 class="m-thread">Current thread:</h3>
<ul class="thread">
<li><strong>[SYSS-2019-027]: Inateck BCST-60 Barcode Scanner - Keystroke Injection Vulnerability (CVE-2019-12503)</strong> <em>Matthias Deeg (Nov 29)</em>
</li></ul>


<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<p>