{"id":5550,"date":"2026-09-04T18:47:55","date_gmt":"2026-09-04T10:47:55","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-8718"},"modified":"2026-09-04T18:47:55","modified_gmt":"2026-09-04T10:47:55","slug":"cve-2026-8718","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-8718","title":{"rendered":"CVE-2026-8718 [HIGH] &#8211; tls_opt_dtls_peer_connection_id_value_get() in subsys\/net\/lib\/sockets\/sockets_tls.c, which"},"content":{"rendered":"<p>tls_opt_dtls_peer_connection_id_value_get() in subsys\/net\/lib\/sockets\/sockets_tls.c, which handles getsockopt(SOL_TLS, TLS_DTLS_PEER_CID_VALUE), passed the caller-supplied optval directly to mbedtls_ssl_get_peer_cid() without verifying the buffer was at least MBEDTLS_SSL_CID_OUT_LEN_MAX (default 32) bytes. mbedtls_ssl_get_peer_cid() copies the peer-negotiated DTLS Connection ID (length 1..MBEDTLS_SSL_CID_OUT_LEN_MAX) into that buffer without a destination-size parameter, so a caller-supplied optlen smaller than the CID causes a write of up to 31 bytes past the buffer end.<\/p>\n<p>In CONFIG_USERSPACE builds the getsockopt syscall verifier (z_vrfy_zsock_getsockopt) bounce-buffers the user&#8217;s optval into a kernel allocation of exactly optlen bytes (k_usermode_alloc_from_copy -&gt; z_thread_malloc), so an unprivileged user thread that passes a small optlen on a connected DTLS socket with Connection ID enabled induces a kernel-heap buffer overflow, with the overflowing content being the remote peer&#8217;s CID.<\/p>\n<p>The defect requires CONFIG_MBEDTLS_SSL_DTLS_CONNECTION_ID, an established DTLS session with a negotiated peer CID, and (for the kernel-crossing case) CONFIG_USERSPACE. Introduced when the TLS_DTLS_CID option was added (v3.5.0).<\/p>\n<p>The fix rejects callers whose optlen is below MBEDTLS_SSL_CID_OUT_LEN_MAX with -EINVAL.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>tls_opt_dtls_peer_connection_id_value_get() in subsys\/net\/lib\/sockets\/sockets_tls.c, which handles getsockopt(SOL_TLS, TLS_DTLS_PEER_CID_VALUE), passed the caller-supplied optval directly to mbedtls_s<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-5550","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/5550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}