In the Linux kernel, the following vulnerability has been resolved:
HID: apple: validate feature-report field count to prevent NULL pointer dereference
A malicious HID device with quirk APPLE_MAGIC_BACKLIGHT can trigger a NULL pointer dereference whilst the power feature-report is toggled and sent to the device in apple_magic_backlight_report_set(). The power feature-report is expected to have two data fields, but if the descriptor declares one field then accessing field[1] and dereferencing it in apple_magic_backlight_report_set() becomes invalid since field[1] will be NULL.
An example of a minimal descriptor which can cause the crash is something like the following where the report with ID 3 (power report) only references a single 1-byte field. When hid core parses the descriptor it will encounter the final feature tag, allocate a hid_report (all members of field[] will be zeroed out), create field structure and populate it, increasing the maxfield to 1. The subsequent field[1] access and dereference causes the crash.
Usage Page (Vendor Defined 0xFF00) Usage (0x0F) Collection (Application) Report ID (1) Usage (0x01) Logical Minimum (0) Logical Maximum (255) Report Size (8) Report Count (1) Feature (Data,Var,Abs)
Usage (0x02) Logical Maximum (32767) Report Size (16) Report Count (1) Feature (Data,Var,Abs)
Report ID (3) Usage (0x03) Logical Minimum (0) Logical Maximum (1) Report Size (8) Report Count (1) Feature (Data,Var,Abs) End Collection
Here we see the KASAN splat when the kernel dereferences the NULL pointer and crashes:
[ 15.164723] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000006: 0000 [#1] SMP KASAN NOPTI [ 15.165691] KASAN: null-ptr-deref in range [0x0000000000000030-0x0000000000000037] [ 15.165691] CPU: 0 UID: 0 PID: 10 Comm: kworker/0:1 Not tainted 6.15.0 #31 PREEMPT(voluntary) [ 15.165691] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 15.165691] RIP: 0010:apple_magic_backlight_report_set+0xbf/0x210 [ 15.165691] Call Trace: [ 15.165691] <TASK> [ 15.165691] apple_probe+0x571/0xa20 [ 15.165691] hid_device_probe+0x2e2/0x6f0 [ 15.165691] really_probe+0x1ca/0x5c0 [ 15.165691] __driver_probe_device+0x24f/0x310 [ 15.165691] driver_probe_device+0x4a/0xd0 [ 15.165691] __device_attach_driver+0x169/0x220 [ 15.165691] bus_for_each_drv+0x118/0x1b0 [ 15.165691] __device_attach+0x1d5/0x380 [ 15.165691] device_initial_probe+0x12/0x20 [ 15.165691] bus_probe_device+0x13d/0x180 [ 15.165691] device_add+0xd87/0x1510 [...]
To fix this issue we should validate the number of fields that the backlight and power reports have and if they do not have the required number of fields then bail.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Oct 16, 2025 | Aug 19, 2025 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Aug 19, 2025 |
| Suse | — | Upgrade kernel-default-livepatchUpgrade gfs2-kmp-defaultUpgrade dtb-alteraUpgrade dtb-caviumUpgrade dtb-sprdUpgrade dtb-xilinxUpgrade cluster-md-kmp-64kbUpgrade dlm-kmp-defaultUpgrade dtb-amdUpgrade kernel-docsUpgrade kselftests-kmp-rtUpgrade kernel-64kb-extraUpgrade dtb-hisiliconUpgrade cluster-md-kmp-rtUpgrade kernel-develUpgrade dtb-mediatekUpgrade kernel-64kb-optionalUpgrade kernel-default-optionalUpgrade kernel-defaultUpgrade kernel-default-vdsoUpgrade kernel-64kb-develUpgrade kernel-rt-livepatchUpgrade kernel-source-vanillaUpgrade ocfs2-kmp-defaultUpgrade dlm-kmp-rtUpgrade kernel-default-livepatch-develUpgrade dtb-nvidiaUpgrade dtb-renesasUpgrade dtb-appleUpgrade dtb-socionextUpgrade kernel-rt-develUpgrade kernel-symsUpgrade dtb-allwinnerUpgrade dtb-rockchipUpgrade kernel-obs-qaUpgrade dtb-lgUpgrade dtb-freescaleUpgrade kernel-rt-extraUpgrade gfs2-kmp-rtUpgrade kernel-zfcpdumpUpgrade dtb-apmUpgrade dtb-armUpgrade dtb-amazonUpgrade kselftests-kmp-defaultUpgrade kselftests-kmp-64kbUpgrade kernel-rt-vdsoUpgrade dtb-exynosUpgrade kernel-obs-buildUpgrade kernel-default-extraUpgrade kernel-kvmsmall-vdsoUpgrade kernel-docs-htmlUpgrade kernel-default-develUpgrade cluster-md-kmp-defaultUpgrade kernel-rt-livepatch-develUpgrade kernel-64kbUpgrade kernel-sourceUpgrade kernel-kvmsmall-develUpgrade kernel-macrosUpgrade dlm-kmp-64kbUpgrade ocfs2-kmp-64kbUpgrade kernel-rt-optionalUpgrade kernel-rtUpgrade dtb-qcomUpgrade dtb-marvellUpgrade kernel-kvmsmallUpgrade gfs2-kmp-64kbUpgrade dtb-broadcomUpgrade ocfs2-kmp-rtUpgrade dtb-amlogic | Dec 5, 2025 | Nov 6, 2025 |
| Ubuntu | — | Upgrade linux-image-aws-64kUpgrade linux-image-gcp-6.14Upgrade linux-image-generic-6.14Upgrade linux-image-6.14.0-1016-realtimeUpgrade linux-image-generic-64k-6.14Upgrade linux-image-oracle-6.14Upgrade linux-image-6.14.0-36-genericUpgrade linux-image-gcp-64kUpgrade linux-image-6.14.0-1020-gcpUpgrade linux-image-oem-24.04Upgrade linux-image-oracleUpgrade linux-image-realtimeUpgrade linux-image-awsUpgrade linux-image-6.14.0-1020-gcp-64kUpgrade linux-image-gcp-64k-6.14Upgrade linux-image-6.14.0-1017-awsUpgrade linux-image-aws-64k-6.14Upgrade linux-image-aws-6.14Upgrade linux-image-raspiUpgrade linux-image-6.14.0-1018-raspiUpgrade linux-image-6.14.0-1017-azureUpgrade linux-image-realtime-6.14Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azure-6.14Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-6.14Upgrade linux-image-6.14.0-1017-aws-64kUpgrade linux-image-raspi-6.14Upgrade linux-image-oracle-64kUpgrade linux-image-6.14.0-1016-oemUpgrade linux-image-virtualUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-generic-64kUpgrade linux-image-oracle-64k-6.14Upgrade linux-image-6.14.0-36-generic-64kUpgrade linux-image-virtual-6.14Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-24.04aUpgrade linux-image-6.14.0-1017-oracle-64kUpgrade linux-image-genericUpgrade linux-image-6.14.0-1017-oracleUpgrade linux-image-gcpUpgrade linux-image-azure | Nov 25, 2025 | Nov 21, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub