{"id":62172,"date":"2025-02-23T05:50:44","date_gmt":"2025-02-23T02:50:44","guid":{"rendered":"https:\/\/www.tenable.com\/cve\/CVE-2025-21704"},"modified":"2025-02-23T05:50:44","modified_gmt":"2025-02-23T02:50:44","slug":"cve-2025-21704","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/cve-2025-21704\/","title":{"rendered":"CVE-2025-21704"},"content":{"rendered":"<h4 class=\"border-bottom pb-1\">Description<\/h4>\n<p>In the Linux kernel, the following vulnerability has been resolved: usb: cdc-acm: Check control transfer buffer size before access If the first fragment is shorter than struct usb_cdc_notification, we can&#8217;t calculate an expected_size. Log an error and discard the notification instead of reading lengths from memory outside the received data, which can lead to memory corruption when the expected_size decreases between fragments, causing `expected_size &#8211; acm-&gt;nb_index` to wrap. This issue has been present since the beginning of git history; however, it only leads to memory corruption since commit ea2583529cd1 (&#8220;cdc-acm: reassemble fragmented notifications&#8221;). A mitigating factor is that acm_ctrl_irq() can only execute after userspace has opened \/dev\/ttyACM*; but if ModemManager is running, ModemManager will do that automatically depending on the USB device&#8217;s vendor\/product IDs and its other interfaces.<\/p>\n<h4 class=\"border-bottom pb-1\">References<\/h4>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/git.kernel.org\/stable\/c\/f64079bef6a8a7823358c3f352ea29a617844636\">https:\/\/git.kernel.org\/stable\/c\/f64079bef6a8a7823358c3f352ea29a617844636<\/a><\/p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/git.kernel.org\/stable\/c\/e563b01208f4d1f609bcab13333b6c0e24ce6a01\">https:\/\/git.kernel.org\/stable\/c\/e563b01208f4d1f609bcab13333b6c0e24ce6a01<\/a><\/p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/git.kernel.org\/stable\/c\/7828e9363ac4d23b02419bf2a45b9f1d9fb35646\">https:\/\/git.kernel.org\/stable\/c\/7828e9363ac4d23b02419bf2a45b9f1d9fb35646<\/a><\/p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/git.kernel.org\/stable\/c\/6abb510251e75f875797d8983a830e6731fa281c\">https:\/\/git.kernel.org\/stable\/c\/6abb510251e75f875797d8983a830e6731fa281c<\/a><\/p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/git.kernel.org\/stable\/c\/383d516a0ebc8641372b521c8cb717f0f1834831\">https:\/\/git.kernel.org\/stable\/c\/383d516a0ebc8641372b521c8cb717f0f1834831<\/a><\/p>\n<p>\u0645\u062f\u06cc\u0631\u06cc\u062a \u0633\u0631\u0648\u0631 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0648 \u062b\u0628\u062a \u062f\u0627\u0645\u0646\u0647 &#8211; \u0622\u0641\u0627\u0642 \u0647\u0627\u0633\u062a\u06cc\u0646\u06af<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Description In the Linux kernel, the following vulnerability has been resolved: usb: cdc-acm: Check control transfer buffer size before access If the first fragment is shorter than struct usb_cdc_notification, we can&#8217;t calculate an expected_size. Log an error and discard the notification instead of reading lengths from memory outside the received data, which can lead to &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[663,236,661,662],"class_list":["post-62172","post","type-post","status-publish","format-standard","hentry","category-vulnerability","tag-cve","tag-236","tag-661","tag-662"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/62172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=62172"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/62172\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=62172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=62172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=62172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}