CVE Catalog

CVE-2026-93120

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, os_desc_qw_sign_show() in the USB gadget configfs driver passed OS_STRING_QW_SIGN_LEN (14) as the input length to utf16s_to_utf8s(), but that argument counts UTF-16 code units while the qw_sign[] array holds only 7 units. When the stored signature fills the array without a NUL terminator, the conversion reads up to 7 units past the end of qw_sign[], exposing adjacent bytes of struct gadget_info through the configfs attribute.

Risk Assessment

The vulnerability allows an out-of-bounds read and leakage of kernel memory through a configfs attribute. This may expose sensitive information or facilitate further attacks on the system.

Recommendation

Update the Linux kernel to a version containing the USB gadget configfs driver fix. Restrict access to configfs attributes to authorized users.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: configfs: fix out-of-bounds read of qw_sign os_desc_qw_sign_show() passes OS_STRING_QW_SIGN_LEN as the input length to utf16s_to_utf8s(), but that argument counts UTF-16 code units while OS_STRING_QW_SIGN_LEN (14) is the byte size of qw_sign[]. The array holds only OS_STRING_QW_SIGN_LEN / 2 (7) code units, so the conversion reads up to 7 units (14 bytes) past the end of qw_sign[] into the following members of struct gadget_info when the stored signature fills the array without a NUL terminator, exposing those bytes through the configfs attribute. The store path halves the count for its input bound but passes the full byte count as the utf8s_to_utf16s() output limit; use the destination code-unit count in both directions.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS