Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-43087— pinctrl: mcp23s08: Disable all pin interrupts during probe

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于mcp23s08芯片在探测时未禁用所有引脚中断,可能导致未注册嵌套处理器的引脚产生中断,造成内核崩溃。

AI Predicted 5.5 Difficulty: Easy EPSS 0.14% · P3

Possible ATT&CK Techniques 1 AI

T1496 · Resource Hijacking

Affected Version Matrix 6

VendorProduct Version RangeStatus
Linux Linux f9f4fda15e720686f1b2b436591ab11255e4e85e< f8c3258541a0680a4ebc08b05b2bc5fdad3288a9 affected
f9f4fda15e720686f1b2b436591ab11255e4e85e< db5b8cecbdf479ad13156af750377e5b43853fab affected
6.19 affected
< 6.19 unaffected
6.19.14≤ 6.19.* unaffected
7.0≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-43087

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
pinctrl: mcp23s08: Disable all pin interrupts during probe
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: pinctrl: mcp23s08: Disable all pin interrupts during probe A chip being probed may have the interrupt-on-change feature enabled on some of its pins, for example after a reboot. This can cause the chip to generate interrupts for pins that don't have a registered nested handler, which leads to a kernel crash such as below: [ 7.928897] Unable to handle kernel read from unreadable memory at virtual address 00000000000000ac [ 7.932314] Mem abort info: [ 7.935081] ESR = 0x0000000096000004 [ 7.938808] EC = 0x25: DABT (current EL), IL = 32 bits [ 7.944094] SET = 0, FnV = 0 [ 7.947127] EA = 0, S1PTW = 0 [ 7.950247] FSC = 0x04: level 0 translation fault [ 7.955101] Data abort info: [ 7.957961] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [ 7.963421] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 7.968447] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 7.973734] user pgtable: 4k pages, 48-bit VAs, pgdp=00000000089b7000 [ 7.980148] [00000000000000ac] pgd=0000000000000000, p4d=0000000000000000 [ 7.986913] Internal error: Oops: 0000000096000004 [#1] SMP [ 7.992545] Modules linked in: [ 8.073678] CPU: 0 UID: 0 PID: 81 Comm: irq/18-4-0025 Not tainted 7.0.0-rc6-gd2b5a1f931c8-dirty #199 [ 8.073689] Hardware name: Khadas VIM3 (DT) [ 8.073692] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 8.094639] pc : _raw_spin_lock_irq+0x40/0x80 [ 8.098970] lr : handle_nested_irq+0x2c/0x168 [ 8.098979] sp : ffff800082b2bd20 [ 8.106599] x29: ffff800082b2bd20 x28: ffff800080107920 x27: ffff800080104d88 [ 8.106611] x26: ffff000003298080 x25: 0000000000000001 x24: 000000000000ff00 [ 8.113707] x23: 0000000000000001 x22: 0000000000000000 x21: 000000000000000e [ 8.120850] x20: 0000000000000000 x19: 00000000000000ac x18: 0000000000000000 [ 8.135046] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 8.135062] x14: ffff800081567ea8 x13: ffffffffffffffff x12: 0000000000000000 [ 8.135070] x11: 00000000000000c0 x10: 0000000000000b60 x9 : ffff800080109e0c [ 8.135078] x8 : 1fffe0000069dbc1 x7 : 0000000000000001 x6 : ffff0000034ede00 [ 8.135086] x5 : 0000000000000000 x4 : ffff0000034ede08 x3 : 0000000000000001 [ 8.163460] x2 : 0000000000000000 x1 : 0000000000000001 x0 : 00000000000000ac [ 8.170560] Call trace: [ 8.180094] _raw_spin_lock_irq+0x40/0x80 (P) [ 8.184443] mcp23s08_irq+0x248/0x358 [ 8.184462] irq_thread_fn+0x34/0xb8 [ 8.184470] irq_thread+0x1a4/0x310 [ 8.195093] kthread+0x13c/0x150 [ 8.198309] ret_from_fork+0x10/0x20 [ 8.201850] Code: d65f03c0 d2800002 52800023 f9800011 (885ffc01) [ 8.207931] ---[ end trace 0000000000000000 ]--- This issue has always been present, but has been latent until commit "f9f4fda15e72" ("pinctrl: mcp23s08: init reg_defaults from HW at probe and switch cache type"), which correctly removed reg_defaults from the regmap and as a side effect changed the behavior of the interrupt handler so that the real value of the MCP_GPINTEN register is now being read from the chip instead of using a bogus 0 default value; a non-zero value for this register can trigger the invocation of a nested handler which may not exist (yet). Fix this issue by disabling all pin interrupts during initialization.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于mcp23s08芯片在探测时未禁用所有引脚中断,可能导致未注册嵌套处理器的引脚产生中断,造成内核崩溃。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux f9f4fda15e720686f1b2b436591ab11255e4e85e ~ f8c3258541a0680a4ebc08b05b2bc5fdad3288a9 -
Linux Linux 6.19 -

II. Public POCs for CVE-2026-43087

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-43087

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-43087 (2)

Same Patch Batch · Linux · 2026-05-06 · 224 CVEs total

CVE-2026-43208 9.8 CRITICAL net: do not pass flow_id to set_rps_cpu()
CVE-2026-43125 9.8 CRITICAL dlm: validate length in dlm_search_rsb_tree
CVE-2026-43198 9.8 CRITICAL tcp: fix potential race in tcp_v6_syn_recv_sock()
CVE-2026-43186 9.8 CRITICAL ipv6: ioam: fix heap buffer overflow in __ioam6_fill_trace_data()
CVE-2026-43185 9.8 CRITICAL ksmbd: fix signededness bug in smb_direct_prepare_negotiation()
CVE-2026-43114 9.4 CRITICAL netfilter: nft_set_pipapo_avx2: don't return non-matching entry on expiry
CVE-2026-43117 9.1 CRITICAL btrfs: tracepoints: get correct superblock from dentry in event btrfs_sync_file()
CVE-2026-43197 9.1 CRITICAL netconsole: avoid OOB reads, msg is not nul-terminated
CVE-2026-43083 9.1 CRITICAL net: ioam6: fix OOB and missing lock
CVE-2026-43158 8.8 HIGH xfs: fix freemap adjustments when adding xattrs to leaf blocks
CVE-2026-43112 8.8 HIGH fs/smb/client: fix out-of-bounds read in cifs_sanitize_prepath
CVE-2026-43113 8.8 HIGH wifi: wl1251: validate packet IDs before indexing tx_frames
CVE-2026-43110 8.8 HIGH wifi: brcmfmac: validate bsscfg indices in IF events
CVE-2026-43249 8.8 HIGH 9p/xen: protect xen_9pfs_front_free against concurrent calls
CVE-2026-43239 8.8 HIGH smb: client: prevent races in ->query_interfaces()
CVE-2026-43232 8.8 HIGH net: wan: farsync: Fix use-after-free bugs caused by unfinished tasklets
CVE-2026-43283 8.8 HIGH net: ethernet: ec_bhf: Fix dma_free_coherent() dma handle
CVE-2026-43172 8.8 HIGH wifi: iwlwifi: fix 22000 series SMEM parsing
CVE-2026-43176 8.8 HIGH wifi: rtw89: pci: validate release report content before using for RTL8922DE
CVE-2026-43187 8.8 HIGH xfs: delete attr leaf freemap entries when empty

Showing top 20 of 224 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-43087

No comments yet


Leave a comment