Description
In the Linux kernel, the following vulnerability has been resolved:

hwmon: (pmbus/q54sj108a2) fix stack overflow in debugfs read

The q54sj108a2_debugfs_read function suffers from a stack buffer overflow
due to incorrect arguments passed to bin2hex(). The function currently
passes 'data' as the destination and 'data_char' as the source.

Because bin2hex() converts each input byte into two hex characters, a
32-byte block read results in 64 bytes of output. Since 'data' is only
34 bytes (I2C_SMBUS_BLOCK_MAX + 2), this writes 30 bytes past the end
of the buffer onto the stack.

Additionally, the arguments were swapped: it was reading from the
zero-initialized 'data_char' and writing to 'data', resulting in
all-zero output regardless of the actual I2C read.

Fix this by:
1. Expanding 'data_char' to 66 bytes to safely hold the hex output.
2. Correcting the bin2hex() argument order and using the actual read count.
3. Using a pointer to select the correct output buffer for the final
simple_read_from_buffer call.
Published: 2026-05-08
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel temperature monitoring subsystem contains a buffer overflow that occurs when the q54sj108a2_debugfs_read function processes a 32-byte block read from an I2C device. Because the bin2hex() helper receives the destination and source pointers swapped, it writes 64 bytes of hex output into a 34-byte buffer, overflowing the stack. The overflow corrupts adjacent kernel memory and can enable a local attacker with access to the /sys/kernel/debug interface to execute arbitrary code or cause a denial of service.

Affected Systems

Affected systems are all Linux kernel releases that include the unpatched pmbus/q54sj108a2 driver, which is part of the standard kernel source tree. The vulnerability is present before the fix committed in the linked kernel patches and disappears in the latest kernel versions that incorporate the patch. Anyone running a kernel that still contains this driver is potentially exposed.

Risk and Exploitability

Risk and exploitability: The flaw is local and requires access to the /sys/kernel/debug interface for the pmbus device. While no public exploit exists yet, the stack overwrite creates a high-impact scenario for privileged escalation, and the absence of an EPSS score does not diminish the potential damage. The vulnerability is not currently catalogued in the CISA KEV list, but its severity warrants immediate patching once a kernel update is available.

Generated by OpenCVE AI on May 8, 2026 at 16:01 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest Linux kernel update that contains the fix from the provided kernel commit series
  • If an immediate kernel upgrade is not possible, disable or remove the /sys/kernel/debug interface for the pmbus/q54sj108a2 device or restrict it to trusted users only
  • Monitor kernel logs (e.g., dmesg, /var/log/kern.log) for signs of crashes or abnormal activity that could indicate exploitation attempts

Generated by OpenCVE AI on May 8, 2026 at 16:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 08 May 2026 16:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-787

Fri, 08 May 2026 14:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: hwmon: (pmbus/q54sj108a2) fix stack overflow in debugfs read The q54sj108a2_debugfs_read function suffers from a stack buffer overflow due to incorrect arguments passed to bin2hex(). The function currently passes 'data' as the destination and 'data_char' as the source. Because bin2hex() converts each input byte into two hex characters, a 32-byte block read results in 64 bytes of output. Since 'data' is only 34 bytes (I2C_SMBUS_BLOCK_MAX + 2), this writes 30 bytes past the end of the buffer onto the stack. Additionally, the arguments were swapped: it was reading from the zero-initialized 'data_char' and writing to 'data', resulting in all-zero output regardless of the actual I2C read. Fix this by: 1. Expanding 'data_char' to 66 bytes to safely hold the hex output. 2. Correcting the bin2hex() argument order and using the actual read count. 3. Using a pointer to select the correct output buffer for the final simple_read_from_buffer call.
Title hwmon: (pmbus/q54sj108a2) fix stack overflow in debugfs read
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-05-08T14:21:28.702Z

Reserved: 2026-05-01T14:12:56.006Z

Link: CVE-2026-43380

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-05-08T15:16:49.207

Modified: 2026-05-08T15:16:49.207

Link: CVE-2026-43380

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-08T16:15:12Z

Weaknesses