cve-2024-26983
Vulnerability from cvelistv5
Published
2024-05-01 05:27
Modified
2024-12-19 08:51
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: bootconfig: use memblock_free_late to free xbc memory to buddy On the time to free xbc memory in xbc_exit(), memblock may has handed over memory to buddy allocator. So it doesn't make sense to free memory back to memblock. memblock_free() called by xbc_exit() even causes UAF bugs on architectures with CONFIG_ARCH_KEEP_MEMBLOCK disabled like x86. Following KASAN logs shows this case. This patch fixes the xbc memory free problem by calling memblock_free() in early xbc init error rewind path and calling memblock_free_late() in xbc exit path to free memory to buddy allocator. [ 9.410890] ================================================================== [ 9.418962] BUG: KASAN: use-after-free in memblock_isolate_range+0x12d/0x260 [ 9.426850] Read of size 8 at addr ffff88845dd30000 by task swapper/0/1 [ 9.435901] CPU: 9 PID: 1 Comm: swapper/0 Tainted: G U 6.9.0-rc3-00208-g586b5dfb51b9 #5 [ 9.446403] Hardware name: Intel Corporation RPLP LP5 (CPU:RaptorLake)/RPLP LP5 (ID:13), BIOS IRPPN02.01.01.00.00.19.015.D-00000000 Dec 28 2023 [ 9.460789] Call Trace: [ 9.463518] <TASK> [ 9.465859] dump_stack_lvl+0x53/0x70 [ 9.469949] print_report+0xce/0x610 [ 9.473944] ? __virt_addr_valid+0xf5/0x1b0 [ 9.478619] ? memblock_isolate_range+0x12d/0x260 [ 9.483877] kasan_report+0xc6/0x100 [ 9.487870] ? memblock_isolate_range+0x12d/0x260 [ 9.493125] memblock_isolate_range+0x12d/0x260 [ 9.498187] memblock_phys_free+0xb4/0x160 [ 9.502762] ? __pfx_memblock_phys_free+0x10/0x10 [ 9.508021] ? mutex_unlock+0x7e/0xd0 [ 9.512111] ? __pfx_mutex_unlock+0x10/0x10 [ 9.516786] ? kernel_init_freeable+0x2d4/0x430 [ 9.521850] ? __pfx_kernel_init+0x10/0x10 [ 9.526426] xbc_exit+0x17/0x70 [ 9.529935] kernel_init+0x38/0x1e0 [ 9.533829] ? _raw_spin_unlock_irq+0xd/0x30 [ 9.538601] ret_from_fork+0x2c/0x50 [ 9.542596] ? __pfx_kernel_init+0x10/0x10 [ 9.547170] ret_from_fork_asm+0x1a/0x30 [ 9.551552] </TASK> [ 9.555649] The buggy address belongs to the physical page: [ 9.561875] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x45dd30 [ 9.570821] flags: 0x200000000000000(node=0|zone=2) [ 9.576271] page_type: 0xffffffff() [ 9.580167] raw: 0200000000000000 ffffea0011774c48 ffffea0012ba1848 0000000000000000 [ 9.588823] raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000 [ 9.597476] page dumped because: kasan: bad access detected [ 9.605362] Memory state around the buggy address: [ 9.610714] ffff88845dd2ff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 9.618786] ffff88845dd2ff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 9.626857] >ffff88845dd30000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 9.634930] ^ [ 9.638534] ffff88845dd30080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 9.646605] ffff88845dd30100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 9.654675] ==================================================================
Impacted products
Vendor Product Version
Linux Linux Version: 40caa127f3c7279c75cb0c9684559fa314ee3a66
Version: 40caa127f3c7279c75cb0c9684559fa314ee3a66
Version: 40caa127f3c7279c75cb0c9684559fa314ee3a66
Version: 40caa127f3c7279c75cb0c9684559fa314ee3a66
Create a notification for this product.
   Linux Linux Version: 5.15
Create a notification for this product.
Show details on NVD website


{
   containers: {
      adp: [
         {
            providerMetadata: {
               dateUpdated: "2024-08-02T00:21:05.888Z",
               orgId: "af854a3a-2127-422b-91ae-364da2661108",
               shortName: "CVE",
            },
            references: [
               {
                  tags: [
                     "x_transferred",
                  ],
                  url: "https://git.kernel.org/stable/c/1e7feb31a18c197d63a5e606025ed63c762f8918",
               },
               {
                  tags: [
                     "x_transferred",
                  ],
                  url: "https://git.kernel.org/stable/c/e46d3be714ad9652480c6db129ab8125e2d20ab7",
               },
               {
                  tags: [
                     "x_transferred",
                  ],
                  url: "https://git.kernel.org/stable/c/5a7dfb8fcd3f29fc93161100179b27f24f3d5f35",
               },
               {
                  tags: [
                     "x_transferred",
                  ],
                  url: "https://git.kernel.org/stable/c/89f9a1e876b5a7ad884918c03a46831af202c8a0",
               },
            ],
            title: "CVE Program Container",
         },
         {
            metrics: [
               {
                  other: {
                     content: {
                        id: "CVE-2024-26983",
                        options: [
                           {
                              Exploitation: "none",
                           },
                           {
                              Automatable: "no",
                           },
                           {
                              "Technical Impact": "partial",
                           },
                        ],
                        role: "CISA Coordinator",
                        timestamp: "2024-09-10T15:45:03.466509Z",
                        version: "2.0.3",
                     },
                     type: "ssvc",
                  },
               },
            ],
            providerMetadata: {
               dateUpdated: "2024-09-11T17:33:42.750Z",
               orgId: "134c704f-9b21-4f2e-91b3-4a467353bcc0",
               shortName: "CISA-ADP",
            },
            title: "CISA ADP Vulnrichment",
         },
      ],
      cna: {
         affected: [
            {
               defaultStatus: "unaffected",
               product: "Linux",
               programFiles: [
                  "include/linux/bootconfig.h",
                  "lib/bootconfig.c",
               ],
               repo: "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               vendor: "Linux",
               versions: [
                  {
                     lessThan: "1e7feb31a18c197d63a5e606025ed63c762f8918",
                     status: "affected",
                     version: "40caa127f3c7279c75cb0c9684559fa314ee3a66",
                     versionType: "git",
                  },
                  {
                     lessThan: "e46d3be714ad9652480c6db129ab8125e2d20ab7",
                     status: "affected",
                     version: "40caa127f3c7279c75cb0c9684559fa314ee3a66",
                     versionType: "git",
                  },
                  {
                     lessThan: "5a7dfb8fcd3f29fc93161100179b27f24f3d5f35",
                     status: "affected",
                     version: "40caa127f3c7279c75cb0c9684559fa314ee3a66",
                     versionType: "git",
                  },
                  {
                     lessThan: "89f9a1e876b5a7ad884918c03a46831af202c8a0",
                     status: "affected",
                     version: "40caa127f3c7279c75cb0c9684559fa314ee3a66",
                     versionType: "git",
                  },
               ],
            },
            {
               defaultStatus: "affected",
               product: "Linux",
               programFiles: [
                  "include/linux/bootconfig.h",
                  "lib/bootconfig.c",
               ],
               repo: "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               vendor: "Linux",
               versions: [
                  {
                     status: "affected",
                     version: "5.15",
                  },
                  {
                     lessThan: "5.15",
                     status: "unaffected",
                     version: "0",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.1.*",
                     status: "unaffected",
                     version: "6.1.88",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.6.*",
                     status: "unaffected",
                     version: "6.6.29",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.8.*",
                     status: "unaffected",
                     version: "6.8.8",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "*",
                     status: "unaffected",
                     version: "6.9",
                     versionType: "original_commit_for_fix",
                  },
               ],
            },
         ],
         descriptions: [
            {
               lang: "en",
               value: "In the Linux kernel, the following vulnerability has been resolved:\n\nbootconfig: use memblock_free_late to free xbc memory to buddy\n\nOn the time to free xbc memory in xbc_exit(), memblock may has handed\nover memory to buddy allocator. So it doesn't make sense to free memory\nback to memblock. memblock_free() called by xbc_exit() even causes UAF bugs\non architectures with CONFIG_ARCH_KEEP_MEMBLOCK disabled like x86.\nFollowing KASAN logs shows this case.\n\nThis patch fixes the xbc memory free problem by calling memblock_free()\nin early xbc init error rewind path and calling memblock_free_late() in\nxbc exit path to free memory to buddy allocator.\n\n[    9.410890] ==================================================================\n[    9.418962] BUG: KASAN: use-after-free in memblock_isolate_range+0x12d/0x260\n[    9.426850] Read of size 8 at addr ffff88845dd30000 by task swapper/0/1\n\n[    9.435901] CPU: 9 PID: 1 Comm: swapper/0 Tainted: G     U             6.9.0-rc3-00208-g586b5dfb51b9 #5\n[    9.446403] Hardware name: Intel Corporation RPLP LP5 (CPU:RaptorLake)/RPLP LP5 (ID:13), BIOS IRPPN02.01.01.00.00.19.015.D-00000000 Dec 28 2023\n[    9.460789] Call Trace:\n[    9.463518]  <TASK>\n[    9.465859]  dump_stack_lvl+0x53/0x70\n[    9.469949]  print_report+0xce/0x610\n[    9.473944]  ? __virt_addr_valid+0xf5/0x1b0\n[    9.478619]  ? memblock_isolate_range+0x12d/0x260\n[    9.483877]  kasan_report+0xc6/0x100\n[    9.487870]  ? memblock_isolate_range+0x12d/0x260\n[    9.493125]  memblock_isolate_range+0x12d/0x260\n[    9.498187]  memblock_phys_free+0xb4/0x160\n[    9.502762]  ? __pfx_memblock_phys_free+0x10/0x10\n[    9.508021]  ? mutex_unlock+0x7e/0xd0\n[    9.512111]  ? __pfx_mutex_unlock+0x10/0x10\n[    9.516786]  ? kernel_init_freeable+0x2d4/0x430\n[    9.521850]  ? __pfx_kernel_init+0x10/0x10\n[    9.526426]  xbc_exit+0x17/0x70\n[    9.529935]  kernel_init+0x38/0x1e0\n[    9.533829]  ? _raw_spin_unlock_irq+0xd/0x30\n[    9.538601]  ret_from_fork+0x2c/0x50\n[    9.542596]  ? __pfx_kernel_init+0x10/0x10\n[    9.547170]  ret_from_fork_asm+0x1a/0x30\n[    9.551552]  </TASK>\n\n[    9.555649] The buggy address belongs to the physical page:\n[    9.561875] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x45dd30\n[    9.570821] flags: 0x200000000000000(node=0|zone=2)\n[    9.576271] page_type: 0xffffffff()\n[    9.580167] raw: 0200000000000000 ffffea0011774c48 ffffea0012ba1848 0000000000000000\n[    9.588823] raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000\n[    9.597476] page dumped because: kasan: bad access detected\n\n[    9.605362] Memory state around the buggy address:\n[    9.610714]  ffff88845dd2ff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n[    9.618786]  ffff88845dd2ff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n[    9.626857] >ffff88845dd30000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\n[    9.634930]                    ^\n[    9.638534]  ffff88845dd30080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\n[    9.646605]  ffff88845dd30100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\n[    9.654675] ==================================================================",
            },
         ],
         providerMetadata: {
            dateUpdated: "2024-12-19T08:51:42.816Z",
            orgId: "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            shortName: "Linux",
         },
         references: [
            {
               url: "https://git.kernel.org/stable/c/1e7feb31a18c197d63a5e606025ed63c762f8918",
            },
            {
               url: "https://git.kernel.org/stable/c/e46d3be714ad9652480c6db129ab8125e2d20ab7",
            },
            {
               url: "https://git.kernel.org/stable/c/5a7dfb8fcd3f29fc93161100179b27f24f3d5f35",
            },
            {
               url: "https://git.kernel.org/stable/c/89f9a1e876b5a7ad884918c03a46831af202c8a0",
            },
         ],
         title: "bootconfig: use memblock_free_late to free xbc memory to buddy",
         x_generator: {
            engine: "bippy-5f407fcff5a0",
         },
      },
   },
   cveMetadata: {
      assignerOrgId: "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      assignerShortName: "Linux",
      cveId: "CVE-2024-26983",
      datePublished: "2024-05-01T05:27:15.635Z",
      dateReserved: "2024-02-19T14:20:24.204Z",
      dateUpdated: "2024-12-19T08:51:42.816Z",
      state: "PUBLISHED",
   },
   dataType: "CVE_RECORD",
   dataVersion: "5.1",
   "vulnerability-lookup:meta": {
      nvd: "{\"cve\":{\"id\":\"CVE-2024-26983\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-05-01T06:15:15.747\",\"lastModified\":\"2024-12-23T14:53:02.043\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbootconfig: use memblock_free_late to free xbc memory to buddy\\n\\nOn the time to free xbc memory in xbc_exit(), memblock may has handed\\nover memory to buddy allocator. So it doesn't make sense to free memory\\nback to memblock. memblock_free() called by xbc_exit() even causes UAF bugs\\non architectures with CONFIG_ARCH_KEEP_MEMBLOCK disabled like x86.\\nFollowing KASAN logs shows this case.\\n\\nThis patch fixes the xbc memory free problem by calling memblock_free()\\nin early xbc init error rewind path and calling memblock_free_late() in\\nxbc exit path to free memory to buddy allocator.\\n\\n[    9.410890] ==================================================================\\n[    9.418962] BUG: KASAN: use-after-free in memblock_isolate_range+0x12d/0x260\\n[    9.426850] Read of size 8 at addr ffff88845dd30000 by task swapper/0/1\\n\\n[    9.435901] CPU: 9 PID: 1 Comm: swapper/0 Tainted: G     U             6.9.0-rc3-00208-g586b5dfb51b9 #5\\n[    9.446403] Hardware name: Intel Corporation RPLP LP5 (CPU:RaptorLake)/RPLP LP5 (ID:13), BIOS IRPPN02.01.01.00.00.19.015.D-00000000 Dec 28 2023\\n[    9.460789] Call Trace:\\n[    9.463518]  <TASK>\\n[    9.465859]  dump_stack_lvl+0x53/0x70\\n[    9.469949]  print_report+0xce/0x610\\n[    9.473944]  ? __virt_addr_valid+0xf5/0x1b0\\n[    9.478619]  ? memblock_isolate_range+0x12d/0x260\\n[    9.483877]  kasan_report+0xc6/0x100\\n[    9.487870]  ? memblock_isolate_range+0x12d/0x260\\n[    9.493125]  memblock_isolate_range+0x12d/0x260\\n[    9.498187]  memblock_phys_free+0xb4/0x160\\n[    9.502762]  ? __pfx_memblock_phys_free+0x10/0x10\\n[    9.508021]  ? mutex_unlock+0x7e/0xd0\\n[    9.512111]  ? __pfx_mutex_unlock+0x10/0x10\\n[    9.516786]  ? kernel_init_freeable+0x2d4/0x430\\n[    9.521850]  ? __pfx_kernel_init+0x10/0x10\\n[    9.526426]  xbc_exit+0x17/0x70\\n[    9.529935]  kernel_init+0x38/0x1e0\\n[    9.533829]  ? _raw_spin_unlock_irq+0xd/0x30\\n[    9.538601]  ret_from_fork+0x2c/0x50\\n[    9.542596]  ? __pfx_kernel_init+0x10/0x10\\n[    9.547170]  ret_from_fork_asm+0x1a/0x30\\n[    9.551552]  </TASK>\\n\\n[    9.555649] The buggy address belongs to the physical page:\\n[    9.561875] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x45dd30\\n[    9.570821] flags: 0x200000000000000(node=0|zone=2)\\n[    9.576271] page_type: 0xffffffff()\\n[    9.580167] raw: 0200000000000000 ffffea0011774c48 ffffea0012ba1848 0000000000000000\\n[    9.588823] raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000\\n[    9.597476] page dumped because: kasan: bad access detected\\n\\n[    9.605362] Memory state around the buggy address:\\n[    9.610714]  ffff88845dd2ff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\\n[    9.618786]  ffff88845dd2ff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\\n[    9.626857] >ffff88845dd30000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\\n[    9.634930]                    ^\\n[    9.638534]  ffff88845dd30080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\\n[    9.646605]  ffff88845dd30100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\\n[    9.654675] ==================================================================\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se resolvió la siguiente vulnerabilidad: bootconfig: use memblock_free_late para liberar memoria xbc para el amigo En el momento de liberar memoria xbc en xbc_exit(), es posible que memblock haya entregado la memoria al asignador de amigos. Por lo tanto, no tiene sentido liberar memoria en Memblock. memblock_free() llamado por xbc_exit() incluso causa errores UAF en arquitecturas con CONFIG_ARCH_KEEP_MEMBLOCK deshabilitado como x86. Los siguientes registros de KASAN muestran este caso. Este parche soluciona el problema de falta de memoria de xbc llamando a memblock_free() en la ruta de rebobinado del error de inicio temprano de xbc y llamando a memblock_free_late() en la ruta de salida de xbc para liberar memoria al asignador de amigos. [9.410890] ================================================= =================== [9.418962] ERROR: KASAN: use-after-free en memblock_isolate_range+0x12d/0x260 [9.426850] Lectura de tamaño 8 en la dirección ffff88845dd30000 por el intercambiador de tareas /0/1 [ 9.435901] CPU: 9 PID: 1 Comm: swapper/0 Contaminado: GU 6.9.0-rc3-00208-g586b5dfb51b9 #5 [ 9.446403] Nombre de hardware: Intel Corporation RPLP LP5 (CPU:RaptorLake)/RPLP LP5 (ID:13), BIOS IRPPN02.01.01.00.00.19.015.D-00000000 28 de diciembre de 2023 [9.460789] Seguimiento de llamadas: [9.463518]  [9.465859] dump_stack_lvl+0x53/0x70 [9.469949] puerto+0xce/0x610 [ 9.473944] ? __virt_addr_valid+0xf5/0x1b0 [9.478619]? memblock_isolate_range+0x12d/0x260 [ 9.483877] kasan_report+0xc6/0x100 [ 9.487870] ? memblock_isolate_range+0x12d/0x260 [9.493125] memblock_isolate_range+0x12d/0x260 [9.498187] memblock_phys_free+0xb4/0x160 [9.502762]? __pfx_memblock_phys_free+0x10/0x10 [9.508021]? mutex_unlock+0x7e/0xd0 [9.512111]? __pfx_mutex_unlock+0x10/0x10 [9.516786]? kernel_init_freeable+0x2d4/0x430 [9.521850]? __pfx_kernel_init+0x10/0x10 [ 9.526426] xbc_exit+0x17/0x70 [ 9.529935] kernel_init+0x38/0x1e0 [ 9.533829] ? _raw_spin_unlock_irq+0xd/0x30 [9.538601] ret_from_fork+0x2c/0x50 [9.542596]? __pfx_kernel_init+0x10/0x10 [ 9.547170] ret_from_fork_asm+0x1a/0x30 [ 9.551552]  [ 9.555649] La dirección con errores pertenece a la página física: [ 9.561875] página: refcount:0 mapcount:0 mapeo:00000000000 Índice 00000: 0x1 pfn :0x45dd30 [ 9.570821] banderas: 0x200000000000000(nodo=0|zona=2) [ 9.576271] tipo de página: 0xffffffff() [ 9.580167] raw: 0200000000000000 ffffea0011774c48 12ba1848 0000000000000000 [9.588823] raw: 0000000000000001 0000000000000000 00000000ffffffff 000000000000000000000000 [9.597476] página volcada porque: kasan: mal acceso detectado [9.605362] Estado de la memoria alrededor de la dirección con errores: [9.610714] ffff88845dd2ff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 9.618786] ffff88845dd2ff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 9.626857] &gt;ffff88845dd30000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 9.634930] ^ [ 9.638534] ffff88845dd30080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 9.646605] ffff88845dd30100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 9.654675] ======================= ===============================================\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.15\",\"versionEndExcluding\":\"6.1.88\",\"matchCriteriaId\":\"E83B1A9F-AE82-4AE9-98A3-62E2A8D4FD46\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.29\",\"matchCriteriaId\":\"0999E154-1E68-41FA-8DE3-9A735E382224\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.8.8\",\"matchCriteriaId\":\"673B3328-389D-41A4-9617-669298635262\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.9:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"22BEDD49-2C6D-402D-9DBF-6646F6ECD10B\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.9:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"DF73CB2A-DFFD-46FB-9BFE-AA394F27EA37\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.9:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"52048DDA-FC5A-4363-95A0-A6357B4D7F8C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.9:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"A06B2CCF-3F43-4FA9-8773-C83C3F5764B2\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1e7feb31a18c197d63a5e606025ed63c762f8918\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/5a7dfb8fcd3f29fc93161100179b27f24f3d5f35\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/89f9a1e876b5a7ad884918c03a46831af202c8a0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e46d3be714ad9652480c6db129ab8125e2d20ab7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/1e7feb31a18c197d63a5e606025ed63c762f8918\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/5a7dfb8fcd3f29fc93161100179b27f24f3d5f35\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/89f9a1e876b5a7ad884918c03a46831af202c8a0\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/e46d3be714ad9652480c6db129ab8125e2d20ab7\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]}]}}",
      vulnrichment: {
         containers: "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/1e7feb31a18c197d63a5e606025ed63c762f8918\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/e46d3be714ad9652480c6db129ab8125e2d20ab7\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/5a7dfb8fcd3f29fc93161100179b27f24f3d5f35\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/89f9a1e876b5a7ad884918c03a46831af202c8a0\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T00:21:05.888Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-26983\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T15:45:03.466509Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:18.291Z\"}}], \"cna\": {\"title\": \"bootconfig: use memblock_free_late to free xbc memory to buddy\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"40caa127f3c7279c75cb0c9684559fa314ee3a66\", \"lessThan\": \"1e7feb31a18c197d63a5e606025ed63c762f8918\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"40caa127f3c7279c75cb0c9684559fa314ee3a66\", \"lessThan\": \"e46d3be714ad9652480c6db129ab8125e2d20ab7\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"40caa127f3c7279c75cb0c9684559fa314ee3a66\", \"lessThan\": \"5a7dfb8fcd3f29fc93161100179b27f24f3d5f35\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"40caa127f3c7279c75cb0c9684559fa314ee3a66\", \"lessThan\": \"89f9a1e876b5a7ad884918c03a46831af202c8a0\", \"versionType\": \"git\"}], \"programFiles\": [\"include/linux/bootconfig.h\", \"lib/bootconfig.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"5.15\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"5.15\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.1.88\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.29\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.8.8\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.8.*\"}, {\"status\": \"unaffected\", \"version\": \"6.9\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"include/linux/bootconfig.h\", \"lib/bootconfig.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/1e7feb31a18c197d63a5e606025ed63c762f8918\"}, {\"url\": \"https://git.kernel.org/stable/c/e46d3be714ad9652480c6db129ab8125e2d20ab7\"}, {\"url\": \"https://git.kernel.org/stable/c/5a7dfb8fcd3f29fc93161100179b27f24f3d5f35\"}, {\"url\": \"https://git.kernel.org/stable/c/89f9a1e876b5a7ad884918c03a46831af202c8a0\"}], \"x_generator\": {\"engine\": \"bippy-5f407fcff5a0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbootconfig: use memblock_free_late to free xbc memory to buddy\\n\\nOn the time to free xbc memory in xbc_exit(), memblock may has handed\\nover memory to buddy allocator. So it doesn't make sense to free memory\\nback to memblock. memblock_free() called by xbc_exit() even causes UAF bugs\\non architectures with CONFIG_ARCH_KEEP_MEMBLOCK disabled like x86.\\nFollowing KASAN logs shows this case.\\n\\nThis patch fixes the xbc memory free problem by calling memblock_free()\\nin early xbc init error rewind path and calling memblock_free_late() in\\nxbc exit path to free memory to buddy allocator.\\n\\n[    9.410890] ==================================================================\\n[    9.418962] BUG: KASAN: use-after-free in memblock_isolate_range+0x12d/0x260\\n[    9.426850] Read of size 8 at addr ffff88845dd30000 by task swapper/0/1\\n\\n[    9.435901] CPU: 9 PID: 1 Comm: swapper/0 Tainted: G     U             6.9.0-rc3-00208-g586b5dfb51b9 #5\\n[    9.446403] Hardware name: Intel Corporation RPLP LP5 (CPU:RaptorLake)/RPLP LP5 (ID:13), BIOS IRPPN02.01.01.00.00.19.015.D-00000000 Dec 28 2023\\n[    9.460789] Call Trace:\\n[    9.463518]  <TASK>\\n[    9.465859]  dump_stack_lvl+0x53/0x70\\n[    9.469949]  print_report+0xce/0x610\\n[    9.473944]  ? __virt_addr_valid+0xf5/0x1b0\\n[    9.478619]  ? memblock_isolate_range+0x12d/0x260\\n[    9.483877]  kasan_report+0xc6/0x100\\n[    9.487870]  ? memblock_isolate_range+0x12d/0x260\\n[    9.493125]  memblock_isolate_range+0x12d/0x260\\n[    9.498187]  memblock_phys_free+0xb4/0x160\\n[    9.502762]  ? __pfx_memblock_phys_free+0x10/0x10\\n[    9.508021]  ? mutex_unlock+0x7e/0xd0\\n[    9.512111]  ? __pfx_mutex_unlock+0x10/0x10\\n[    9.516786]  ? kernel_init_freeable+0x2d4/0x430\\n[    9.521850]  ? __pfx_kernel_init+0x10/0x10\\n[    9.526426]  xbc_exit+0x17/0x70\\n[    9.529935]  kernel_init+0x38/0x1e0\\n[    9.533829]  ? _raw_spin_unlock_irq+0xd/0x30\\n[    9.538601]  ret_from_fork+0x2c/0x50\\n[    9.542596]  ? __pfx_kernel_init+0x10/0x10\\n[    9.547170]  ret_from_fork_asm+0x1a/0x30\\n[    9.551552]  </TASK>\\n\\n[    9.555649] The buggy address belongs to the physical page:\\n[    9.561875] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x45dd30\\n[    9.570821] flags: 0x200000000000000(node=0|zone=2)\\n[    9.576271] page_type: 0xffffffff()\\n[    9.580167] raw: 0200000000000000 ffffea0011774c48 ffffea0012ba1848 0000000000000000\\n[    9.588823] raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000\\n[    9.597476] page dumped because: kasan: bad access detected\\n\\n[    9.605362] Memory state around the buggy address:\\n[    9.610714]  ffff88845dd2ff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\\n[    9.618786]  ffff88845dd2ff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\\n[    9.626857] >ffff88845dd30000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\\n[    9.634930]                    ^\\n[    9.638534]  ffff88845dd30080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\\n[    9.646605]  ffff88845dd30100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff\\n[    9.654675] ==================================================================\"}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2024-12-19T08:51:42.816Z\"}}}",
         cveMetadata: "{\"cveId\": \"CVE-2024-26983\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2024-12-19T08:51:42.816Z\", \"dateReserved\": \"2024-02-19T14:20:24.204Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-05-01T05:27:15.635Z\", \"assignerShortName\": \"Linux\"}",
         dataType: "CVE_RECORD",
         dataVersion: "5.1",
      },
   },
}


Log in or create an account to share your comment.

Security Advisory comment format.

This schema specifies the format of a comment related to a security advisory.

UUIDv4 of the comment
UUIDv4 of the Vulnerability-Lookup instance
When the comment was created originally
When the comment was last updated
Title of the comment
Description of the comment
The identifier of the vulnerability (CVE ID, GHSA-ID, PYSEC ID, etc.).



Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.