kcm: Fix error handling for SOCK_DGRAM in kcm_sendmsg(). (Linux Linux)

CVE-2023-53825
Not available

At a glance

Source
NVD
EPSS
EPSS 0.26 % · percentile 17 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Deferred

Description

In the Linux kernel, the following vulnerability has been resolved: kcm: Fix error handling for SOCK_DGRAM in kcm_sendmsg(). syzkaller found a memory leak in kcm_sendmsg(), and commit c821a88bd720 ("kcm: Fix memory leak in error path of kcm_sendmsg()") suppressed it by updating kcm_tx_msg(head)->last_skb if partial data is copied so that the following sendmsg() will resume from the skb. However, we cannot know how many bytes were copied when we get the error. Thus, we could mess up the MSG_MORE queue. When kcm_sendmsg() fails for SOCK_DGRAM, we should purge the queue as we do so for UDP by udp_flush_pending_frames(). Even without this change, when the error occurred, the following sendmsg() resumed from a wrong skb and the queue was messed up. However, we have yet to get such a report, and only syzkaller stumbled on it. So, this can be changed safely. Note this does not change SOCK_SEQPACKET behaviour.

References

European references

CERT-FR advisories

Affected products

ProductVersions
Linux · Linuxaffected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 < 21b467735b0888a8daa048f83d3b9b50fdab71ce ; affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 < d4b8f380b0a041ee6a84fdac14127d8fe1dcad7b ; affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 < 1ce8362b4ac6b8e65fd04a22ea37ec776ee1ec5b ; affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 < 2e18493c421428a936946c452461b8e979088f17 ; affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 < 55d2e7c1ab8eaa7b62575b8a4194132795d1f9fc ; affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 < e5b28ce127a690f3acc49a6a342e6c9442c9edd6
Linux · Linuxaffected 4.6 ; unaffected 0 < 4.6 ; unaffected 4.14.326 ≤ 4.14.* ; unaffected 4.19.295 ≤ 4.19.* ; unaffected 5.4.257 ≤ 5.4.* ; unaffected 5.10.195 ≤ 5.10.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD