Description
In the Linux kernel, the following vulnerability has been resolved: nfc: s3fwrn5: allocate rx skb before consuming bytes s3fwrn82_uart_read() reports the number of accepted bytes to the serdev core. The current code consumes bytes into recv_skb and may already deliver a complete frame before allocating a fresh receive buffer. If that alloc_skb() fails, the callback returns 0 even though it has already consumed bytes, and it leaves recv_skb as NULL for the next receive callback. That breaks the receive_buf() accounting contract and can also lead to a NULL dereference on the next skb_put_u8(). Allocate the receive skb lazily before consuming the next byte instead. If allocation fails, return the number of bytes already accepted.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
3f52c2cb7e3ada37513dabb69a22cf917dba754f to < 20a57de2e79b797ed75382659d52bf4c7d9cb446affected3f52c2cb7e3ada37513dabb69a22cf917dba754f to < e4ab0fd1c91882f2a7846b1817781c8741f7f315affected3f52c2cb7e3ada37513dabb69a22cf917dba754f to < d8c2aa3c4a1ec530a485e46a1c4f1a118bb00156affected3f52c2cb7e3ada37513dabb69a22cf917dba754f to < 7c31f7a599cf00fad3c204092a91a924126c67e4affected3f52c2cb7e3ada37513dabb69a22cf917dba754f to < 6d931680a9851481c3243689488eafed08eeff71affected3f52c2cb7e3ada37513dabb69a22cf917dba754f to < 09822d3d6f68a0cdc4626e0c507324a4927f55a9affected3f52c2cb7e3ada37513dabb69a22cf917dba754f to < 5c14a19d5b1645cce1cb1252833d70b23635b632affected
Linux Linux
Default version status: affected
5.11affected0 to < 5.11unaffected5.15.209 to ≤ 5.15.*unaffected6.1.175 to ≤ 6.1.*unaffected6.6.136 to ≤ 6.6.*unaffected6.12.83 to ≤ 6.12.*unaffected6.18.24 to ≤ 6.18.*unaffected6.19.14 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/20a57de2e79b797ed75382659d52bf4c7d9cb446 ↗
- https://git.kernel.org/stable/c/e4ab0fd1c91882f2a7846b1817781c8741f7f315 ↗
- https://git.kernel.org/stable/c/d8c2aa3c4a1ec530a485e46a1c4f1a118bb00156 ↗
- https://git.kernel.org/stable/c/7c31f7a599cf00fad3c204092a91a924126c67e4 ↗
- https://git.kernel.org/stable/c/6d931680a9851481c3243689488eafed08eeff71 ↗
- https://git.kernel.org/stable/c/09822d3d6f68a0cdc4626e0c507324a4927f55a9 ↗
- https://git.kernel.org/stable/c/5c14a19d5b1645cce1cb1252833d70b23635b632 ↗