We use these services and cookies to improve your user experience. You may opt out if you wish, however, this may limit some features on this site.

Please see our statement on Data Privacy.

Crisp.chat (Helpdesk and Chat)

Ok

THREATINT
PUBLISHED

CVE-2025-37816

mei: vsc: Fix fortify-panic caused by invalid counted_by() use



Description

In the Linux kernel, the following vulnerability has been resolved: mei: vsc: Fix fortify-panic caused by invalid counted_by() use gcc 15 honors the __counted_by(len) attribute on vsc_tp_packet.buf[] and the vsc-tp.c code is using this in a wrong way. len does not contain the available size in the buffer, it contains the actual packet length *without* the crc. So as soon as vsc_tp_xfer() tries to add the crc to buf[] the fortify-panic handler gets triggered: [ 80.842193] memcpy: detected buffer overflow: 4 byte write of buffer size 0 [ 80.842243] WARNING: CPU: 4 PID: 272 at lib/string_helpers.c:1032 __fortify_report+0x45/0x50 ... [ 80.843175] __fortify_panic+0x9/0xb [ 80.843186] vsc_tp_xfer.cold+0x67/0x67 [mei_vsc_hw] [ 80.843210] ? seqcount_lockdep_reader_access.constprop.0+0x82/0x90 [ 80.843229] ? lockdep_hardirqs_on+0x7c/0x110 [ 80.843250] mei_vsc_hw_start+0x98/0x120 [mei_vsc] [ 80.843270] mei_reset+0x11d/0x420 [mei] The easiest fix would be to just drop the counted-by but with the exception of the ack buffer in vsc_tp_xfer_helper() which only contains enough room for the packet-header, all other uses of vsc_tp_packet always use a buffer of VSC_TP_MAX_XFER_SIZE bytes for the packet. Instead of just dropping the counted-by, split the vsc_tp_packet struct definition into a header and a full-packet definition and use a fixed size buf[] in the packet definition, this way fortify-source buffer overrun checking still works when enabled.

Reserved 2025-04-16 | Published 2025-05-08 | Updated 2025-05-08 | Assigner Linux

Product status

Default status
unaffected

566f5ca9768075e453b7b51a397733968df4287d before 3e243378f27cc7d11682a3ad720228b0723affa5
affected

566f5ca9768075e453b7b51a397733968df4287d before ac04663c67f244810b3492e9ecd9f7cdbefeca2d
affected

566f5ca9768075e453b7b51a397733968df4287d before 00f1cc14da0f06d2897b8c528df7c7dcf1b8da50
affected

Default status
affected

6.8
affected

Any version before 6.8
unaffected

6.12.26
unaffected

6.14.5
unaffected

6.15-rc4
unaffected

References

git.kernel.org/...c/3e243378f27cc7d11682a3ad720228b0723affa5

git.kernel.org/...c/ac04663c67f244810b3492e9ecd9f7cdbefeca2d

git.kernel.org/...c/00f1cc14da0f06d2897b8c528df7c7dcf1b8da50

cve.org (CVE-2025-37816)

nvd.nist.gov (CVE-2025-37816)

Download JSON

Share this page
https://cve.threatint.eu/CVE/CVE-2025-37816

Support options

Helpdesk Chat, Email, Knowledgebase