<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-30T21:30:27.704636+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2023-52478</id>
    <title>CVE-2023-52478 — HID: logitech-hidpp: Fix kernel crash on receiver USB disconnect</title>
    <updated>2026-09-30T21:30:27.720716+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>HID: logitech-hidpp: Fix kernel crash on receiver USB disconnect</p>
<p>hidpp_connect_event() has *four* time-of-check vs time-of-use (TOCTOU)
races when it races with itself.</p>
<p>hidpp_connect_event() primarily runs from a workqueue but it also runs
on probe() and if a "device-connected" packet is received by the hw
when the thread running hidpp_connect_event() from probe() is waiting on
the hw, then a second thread running hidpp_connect_event() will be
started from the workqueue.</p>
<p>This opens the following races (note the below code is simplified):</p>
<p>1. Retrieving + printing the protocol (harmless race):</p>
<p>if (!hidpp-&gt;protocol_major) {
		hidpp_root_get_protocol_version()
		hidpp-&gt;protocol_major = response.rap.params[0];
	}</p>
<p>We can actually see this race hit in the dmesg in the abrt output
attached to rhbz#2227968:</p>
<p>[ 3064.624215] logitech-hidpp-device 0003:046D:4071.0049: HID++ 4.5 device connected.
[ 3064.658184] logitech-hidpp-device 0003:046D:4071.0049: HID++ 4.5 device connected.</p>
<p>Testing with extra logging added has shown that after this the 2 threads
take turn grabbing the hw access mutex (send_mutex) so they ping-pong
through all the other TOCTOU cases managing to hit all of them:</p>
<p>2. Updating the name to the HIDPP name (harmless race):</p>
<p>if (hidpp-&gt;name == hdev-&gt;name) {
		...
		hidpp-&gt;name = new_name;
	}</p>
<p>3. Initializing the power_supply class for the battery (problematic!):</p>
<p>hidpp_initialize_battery()
{…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2023-52478"/>
  </entry>
</feed>
