CVE-2026-31751: comedi: dt2815: add hardware detection to prevent crash

Published May 1, 2026
·
Updated

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

comedi: dt2815: add hardware detection to prevent crash

The dt2815 driver crashes when attached to I/O ports without actual hardware present. This occurs because syzkaller or users can attach the driver to arbitrary I/O addresses via COMEDIDEVCONFIG ioctl.

When no hardware exists at the specified port, inb() operations return 0xff (floating bus), but outb() operations can trigger page faults due to undefined behavior, especially under race conditions:

BUG: unable to handle page fault for address: 000000007fffff90 #PF: supervisor write access in kernel mode #PF: errorcode(0x0002) - not-present page RIP: 0010:dt2815attach+0x6e0/0x1110

Add hardware detection by reading the status register before attempting any write operations. If the read returns 0xff, assume no hardware is present and fail the attach with -ENODEV. This prevents crashes from outb() operations on non-existent hardware.

Affected Software

15 affected componentsFixes available
Linux Linux kernel comedi dt2815 driver
Linux Linux kernel>=2.6.30<5.10.253
Linux Linux kernel>=5.11<5.15.203
Linux Linux kernel>=5.16<6.1.168
Linux Linux kernel>=6.2<6.6.134
Linux Linux kernel>=6.7<6.12.81
Linux Linux kernel>=6.13<6.18.22
Linux Linux kernel>=6.19<6.19.12
Linux Linux kernel=7.0-rc1
Linux Linux kernel=7.0-rc2
Linux Linux kernel=7.0-rc3
Linux Linux kernel=7.0-rc4
Linux Linux kernel=7.0-rc5
Linux Linux kernel=7.0-rc6
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.12-17.2.15-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1
  2. Compensating control

    In the comedi dt2815 driver, read the hardware status register before any write operation; if the read returns 0xff, treat the hardware as absent and fail the attach with -ENODEV.

Event History

May 1, 2026
CVE Published
via MITRE·02:14 PM
Data Sourced
via MITRE·02:14 PM
Description
Data Sourced
via NVD·03:16 PM
RemedyDescriptionSeverityWeaknessAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Peer vulnerabilities

Found alongside the following vulnerabilities.

Frequently Asked Questions

1

Who can trigger the crash?

A local user or process able to invoke the COMEDI_DEVCONFIG ioctl and attach the dt2815 driver to an arbitrary I/O port address can trigger the condition. Exploitation requires choosing an address where no actual hardware is present.

2

What happens when the driver is attached to a nonexistent device?

Reads from the floating I/O bus return 0xff, while subsequent outb() operations can cause a kernel page fault, particularly under race conditions. The result is a denial of service through a kernel crash.

3

How does the resolved code prevent the issue?

The driver reads the status register before performing write operations. If the value is 0xff, it treats the hardware as absent and rejects the attach request with -ENODEV.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203