In the Linux kernel, the following vulnerability has been resolved:
net: guard timestamp cmsgs to real error queue skbs
skb_is_err_queue() treats PACKET_OUTGOING as the sole marker for an skb
from sk_error_queue. That assumption is not true for AF_PACKET sockets:
outgoing packet taps are also delivered to packet sockets with
skb->pkt_type == PACKET_OUTGOING, but their skb->cb is owned by AF_PACKET
instead of struct sock_exterr_skb.
If such an skb is received with timestamping enabled, the generic
timestamp cmsg path can read AF_PACKET control-buffer state as
sock_exterr_skb::opt_stats. With SO_RXQ_OVFL enabled, the packet drop
counter overlaps opt_stats. An odd drop count makes the path emit
SCM_TIMESTAMPING_OPT_STATS with skb->len and skb->data. For non-linear
skbs this copies past the linear head and can trigger hardened usercopy or
disclose adjacent heap contents.
Keep skb_is_err_queue() local to net/socket.c, but make it verify that
the PACKET_OUTGOING marker is paired with the sock_rmem_free destructor
installed by sock_queue_err_skb(). AF_PACKET receive skbs use normal
receive ownership and no longer pass as error-queue skbs, while legitimate
sk_error_queue entries keep the PACKET_OUTGOING marker and sock_rmem_free
ownership.
CVSS
7.1 HIGH (v3.1, CNA)CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
8605330aac5a5785630aec8f64378a54891937cc builds before 24a0d548d3a765cd4558224e4f8e06e14cba26e3; 8605330aac5a5785630aec8f64378a54891937cc builds before 71ff5cdd5da61d0438e902aa0fd68c28bc901abe; from 8605330aac5a5785630aec8f64378a54891937cc before ad9a0374ee6d11048e1f74cd5180bad58b9848b4; from 8605330aac5a5785630aec8f64378a54891937cc before b903e9b5629ec8dd6db92174070045bf81ad7060; from 8605330aac5a5785630aec8f64378a54891937cc before e0665b2a8e90bb08bd205062c75662b502d31797; 8605330aac5a5785630aec8f64378a54891937cc builds before 3dde4fb941fa5649ab809f6cd3e20e0c424a4e31; from 8605330aac5a5785630aec8f64378a54891937cc before eb51a9ad3ceb01bc6c0fb608dbc856e03ee6f24a; 8605330aac5a5785630aec8f64378a54891937cc builds before 1ee90b77b727df903033db873c75caac5c27ec98; and 2 more ranges
from 4.10.14 before 4.11; from 4.11.1 before 5.10.259; from 5.11 before 5.15.210; from 5.16 before 6.1.176; from 6.2 before 6.6.143; from 6.7 before 6.12.94; from 6.13 before 6.18.36; from 6.19 before 7.0.13; and 13 more ranges
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.
Printed from infosecsignals.com. Every record links back to the agency that published it.
Your cookie choices
We use essential cookies to run this site, and, only with your consent, an advertising cookie from Google to measure whether our ads lead to sign-ups and subscriptions. See our for details.