<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sun, 01 Nov 2026 22:03:30 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-98499 — HID: wacom: fix OOB read in wacom_wac_pen_serial_enforce()</title>
      <link>https://db.gcve.eu/vuln/cve-2026-98499</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;HID: wacom: fix OOB read in wacom_wac_pen_serial_enforce()&lt;/p&gt;
&lt;p&gt;The &amp;#39;wacom_wac_pen_serial_enforce()&amp;#39; function may calculate and pass an
invalid offset to hid_field_extract(), resulting in memory reads at
incorrect addresses -- possibly beyond the end of the report.  If a
field in the HID descriptor lists more usages than its Report Count
actually reserves space for, the function&amp;#39;s inner &amp;#39;j&amp;#39; will walk past
the end of the field:&lt;/p&gt;
&lt;p&gt;for (i = 0; i &amp;lt; report-&amp;gt;maxfield; i++) {
		for (j = 0; j &amp;lt; report-&amp;gt;field[i]-&amp;gt;maxusage; j++) {
			...
			value = hid_field_extract(hdev, raw_data + 1,
						  offset + j * size, size);&lt;/p&gt;
&lt;p&gt;A descriptor listing 12288 usages against Report Count 1 has the loop
extract the usage at index 12287 from bit offset 98296 -- about 12 KB
past a 2-byte received report.  The value is stored in
wacom_wac-&amp;gt;serial[0] and can reach userspace as an MSC_SERIAL event,
making this an information disclosure.&lt;/p&gt;
&lt;p&gt;Clamp the loop to field-&amp;gt;report_count, the number of value slots the
report holds.  Value slots past the last declared usage are still
scanned; they reuse that usage (HID 1.11, 6.2.2.8).&lt;/p&gt;
&lt;p&gt;Verified on v6.12.105 with a UHID reproducer: a 2-byte report from
such a descriptor trips KASAN before the patch and not after it.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;HID: wacom: fix OOB read in wacom_wac_pen_serial_enforce()&lt;/p&gt;
&lt;p&gt;The &amp;#39;wacom_wac_pen_serial_enforce()&amp;#39; function may calculate and pass an
invalid offset to hid_field_extract(), resulting in memory reads at
incorrect addresses -- possibly beyond the end of the report.  If a
field in the HID descriptor lists more usages than its Report Count
actually reserves space for, the function&amp;#39;s inner &amp;#39;j&amp;#39; will walk past
the end of the field:&lt;/p&gt;
&lt;p&gt;for (i = 0; i &amp;lt; report-&amp;gt;maxfield; i++) {
		for (j = 0; j &amp;lt; report-&amp;gt;field[i]-&amp;gt;maxusage; j++) {
			...
			value = hid_field_extract(hdev, raw_data + 1,
						  offset + j * size, size);&lt;/p&gt;
&lt;p&gt;A descriptor listing 12288 usages against Report Count 1 has the loop
extract the usage at index 12287 from bit offset 98296 -- about 12 KB
past a 2-byte received report.  The value is stored in
wacom_wac-&amp;gt;serial[0] and can reach userspace as an MSC_SERIAL event,
making this an information disclosure.&lt;/p&gt;
&lt;p&gt;Clamp the loop to field-&amp;gt;report_count, the number of value slots the
report holds.  Value slots past the last declared usage are still
scanned; they reuse that usage (HID 1.11, 6.2.2.8).&lt;/p&gt;
&lt;p&gt;Verified on v6.12.105 with a UHID reproducer: a 2-byte report from
such a descriptor trips KASAN before the patch and not after it.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-98499</guid>
    </item>
  </channel>
</rss>
