cve-2024-44959
Vulnerability from cvelistv5
Published
2024-09-04 18:35
Modified
2024-12-19 09:19
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: tracefs: Use generic inode RCU for synchronizing freeing With structure layout randomization enabled for 'struct inode' we need to avoid overlapping any of the RCU-used / initialized-only-once members, e.g. i_lru or i_sb_list to not corrupt related list traversals when making use of the rcu_head. For an unlucky structure layout of 'struct inode' we may end up with the following splat when running the ftrace selftests: [<...>] list_del corruption, ffff888103ee2cb0->next (tracefs_inode_cache+0x0/0x4e0 [slab object]) is NULL (prev is tracefs_inode_cache+0x78/0x4e0 [slab object]) [<...>] ------------[ cut here ]------------ [<...>] kernel BUG at lib/list_debug.c:54! [<...>] invalid opcode: 0000 [#1] PREEMPT SMP KASAN [<...>] CPU: 3 PID: 2550 Comm: mount Tainted: G N 6.8.12-grsec+ #122 ed2f536ca62f28b087b90e3cc906a8d25b3ddc65 [<...>] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/01/2014 [<...>] RIP: 0010:[<ffffffff84656018>] __list_del_entry_valid_or_report+0x138/0x3e0 [<...>] Code: 48 b8 99 fb 65 f2 ff ff ff ff e9 03 5c d9 fc cc 48 b8 99 fb 65 f2 ff ff ff ff e9 33 5a d9 fc cc 48 b8 99 fb 65 f2 ff ff ff ff <0f> 0b 4c 89 e9 48 89 ea 48 89 ee 48 c7 c7 60 8f dd 89 31 c0 e8 2f [<...>] RSP: 0018:fffffe80416afaf0 EFLAGS: 00010283 [<...>] RAX: 0000000000000098 RBX: ffff888103ee2cb0 RCX: 0000000000000000 [<...>] RDX: ffffffff84655fe8 RSI: ffffffff89dd8b60 RDI: 0000000000000001 [<...>] RBP: ffff888103ee2cb0 R08: 0000000000000001 R09: fffffbd0082d5f25 [<...>] R10: fffffe80416af92f R11: 0000000000000001 R12: fdf99c16731d9b6d [<...>] R13: 0000000000000000 R14: ffff88819ad4b8b8 R15: 0000000000000000 [<...>] RBX: tracefs_inode_cache+0x0/0x4e0 [slab object] [<...>] RDX: __list_del_entry_valid_or_report+0x108/0x3e0 [<...>] RSI: __func__.47+0x4340/0x4400 [<...>] RBP: tracefs_inode_cache+0x0/0x4e0 [slab object] [<...>] RSP: process kstack fffffe80416afaf0+0x7af0/0x8000 [mount 2550 2550] [<...>] R09: kasan shadow of process kstack fffffe80416af928+0x7928/0x8000 [mount 2550 2550] [<...>] R10: process kstack fffffe80416af92f+0x792f/0x8000 [mount 2550 2550] [<...>] R14: tracefs_inode_cache+0x78/0x4e0 [slab object] [<...>] FS: 00006dcb380c1840(0000) GS:ffff8881e0600000(0000) knlGS:0000000000000000 [<...>] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [<...>] CR2: 000076ab72b30e84 CR3: 000000000b088004 CR4: 0000000000360ef0 shadow CR4: 0000000000360ef0 [<...>] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [<...>] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [<...>] ASID: 0003 [<...>] Stack: [<...>] ffffffff818a2315 00000000f5c856ee ffffffff896f1840 ffff888103ee2cb0 [<...>] ffff88812b6b9750 0000000079d714b6 fffffbfff1e9280b ffffffff8f49405f [<...>] 0000000000000001 0000000000000000 ffff888104457280 ffffffff8248b392 [<...>] Call Trace: [<...>] <TASK> [<...>] [<ffffffff818a2315>] ? lock_release+0x175/0x380 fffffe80416afaf0 [<...>] [<ffffffff8248b392>] list_lru_del+0x152/0x740 fffffe80416afb48 [<...>] [<ffffffff8248ba93>] list_lru_del_obj+0x113/0x280 fffffe80416afb88 [<...>] [<ffffffff8940fd19>] ? _atomic_dec_and_lock+0x119/0x200 fffffe80416afb90 [<...>] [<ffffffff8295b244>] iput_final+0x1c4/0x9a0 fffffe80416afbb8 [<...>] [<ffffffff8293a52b>] dentry_unlink_inode+0x44b/0xaa0 fffffe80416afbf8 [<...>] [<ffffffff8293fefc>] __dentry_kill+0x23c/0xf00 fffffe80416afc40 [<...>] [<ffffffff8953a85f>] ? __this_cpu_preempt_check+0x1f/0xa0 fffffe80416afc48 [<...>] [<ffffffff82949ce5>] ? shrink_dentry_list+0x1c5/0x760 fffffe80416afc70 [<...>] [<ffffffff82949b71>] ? shrink_dentry_list+0x51/0x760 fffffe80416afc78 [<...>] [<ffffffff82949da8>] shrink_dentry_list+0x288/0x760 fffffe80416afc80 [<...>] [<ffffffff8294ae75>] shrink_dcache_sb+0x155/0x420 fffffe80416afcc8 [<...>] [<ffffffff8953a7c3>] ? debug_smp_processor_id+0x23/0xa0 fffffe80416afce0 [<...>] [<ffffffff8294ad20>] ? do_one_tre ---truncated---
Impacted products
Vendor Product Version
Linux Linux Version: 6.9
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-44959",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T17:39:53.968694Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-12T17:33:36.099Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/tracefs/inode.c",
            "fs/tracefs/internal.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "726f4c241e17be75a9cf6870d80cd7479dc89e8f",
              "status": "affected",
              "version": "5f91fc82794d4a6e41cdcd02d00baa377d94ca78",
              "versionType": "git"
            },
            {
              "lessThan": "061da60716ce0cde99f62f31937b81e1c03acef6",
              "status": "affected",
              "version": "baa23a8d4360d981a49913841a726edede5cdd54",
              "versionType": "git"
            },
            {
              "lessThan": "0b6743bd60a56a701070b89fb80c327a44b7b3e2",
              "status": "affected",
              "version": "baa23a8d4360d981a49913841a726edede5cdd54",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/tracefs/inode.c",
            "fs/tracefs/internal.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.9"
            },
            {
              "lessThan": "6.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.46",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.10.*",
              "status": "unaffected",
              "version": "6.10.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.11",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntracefs: Use generic inode RCU for synchronizing freeing\n\nWith structure layout randomization enabled for \u0027struct inode\u0027 we need to\navoid overlapping any of the RCU-used / initialized-only-once members,\ne.g. i_lru or i_sb_list to not corrupt related list traversals when making\nuse of the rcu_head.\n\nFor an unlucky structure layout of \u0027struct inode\u0027 we may end up with the\nfollowing splat when running the ftrace selftests:\n\n[\u003c...\u003e] list_del corruption, ffff888103ee2cb0-\u003enext (tracefs_inode_cache+0x0/0x4e0 [slab object]) is NULL (prev is tracefs_inode_cache+0x78/0x4e0 [slab object])\n[\u003c...\u003e] ------------[ cut here ]------------\n[\u003c...\u003e] kernel BUG at lib/list_debug.c:54!\n[\u003c...\u003e] invalid opcode: 0000 [#1] PREEMPT SMP KASAN\n[\u003c...\u003e] CPU: 3 PID: 2550 Comm: mount Tainted: G                 N  6.8.12-grsec+ #122 ed2f536ca62f28b087b90e3cc906a8d25b3ddc65\n[\u003c...\u003e] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/01/2014\n[\u003c...\u003e] RIP: 0010:[\u003cffffffff84656018\u003e] __list_del_entry_valid_or_report+0x138/0x3e0\n[\u003c...\u003e] Code: 48 b8 99 fb 65 f2 ff ff ff ff e9 03 5c d9 fc cc 48 b8 99 fb 65 f2 ff ff ff ff e9 33 5a d9 fc cc 48 b8 99 fb 65 f2 ff ff ff ff \u003c0f\u003e 0b 4c 89 e9 48 89 ea 48 89 ee 48 c7 c7 60 8f dd 89 31 c0 e8 2f\n[\u003c...\u003e] RSP: 0018:fffffe80416afaf0 EFLAGS: 00010283\n[\u003c...\u003e] RAX: 0000000000000098 RBX: ffff888103ee2cb0 RCX: 0000000000000000\n[\u003c...\u003e] RDX: ffffffff84655fe8 RSI: ffffffff89dd8b60 RDI: 0000000000000001\n[\u003c...\u003e] RBP: ffff888103ee2cb0 R08: 0000000000000001 R09: fffffbd0082d5f25\n[\u003c...\u003e] R10: fffffe80416af92f R11: 0000000000000001 R12: fdf99c16731d9b6d\n[\u003c...\u003e] R13: 0000000000000000 R14: ffff88819ad4b8b8 R15: 0000000000000000\n[\u003c...\u003e] RBX: tracefs_inode_cache+0x0/0x4e0 [slab object]\n[\u003c...\u003e] RDX: __list_del_entry_valid_or_report+0x108/0x3e0\n[\u003c...\u003e] RSI: __func__.47+0x4340/0x4400\n[\u003c...\u003e] RBP: tracefs_inode_cache+0x0/0x4e0 [slab object]\n[\u003c...\u003e] RSP: process kstack fffffe80416afaf0+0x7af0/0x8000 [mount 2550 2550]\n[\u003c...\u003e] R09: kasan shadow of process kstack fffffe80416af928+0x7928/0x8000 [mount 2550 2550]\n[\u003c...\u003e] R10: process kstack fffffe80416af92f+0x792f/0x8000 [mount 2550 2550]\n[\u003c...\u003e] R14: tracefs_inode_cache+0x78/0x4e0 [slab object]\n[\u003c...\u003e] FS:  00006dcb380c1840(0000) GS:ffff8881e0600000(0000) knlGS:0000000000000000\n[\u003c...\u003e] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[\u003c...\u003e] CR2: 000076ab72b30e84 CR3: 000000000b088004 CR4: 0000000000360ef0 shadow CR4: 0000000000360ef0\n[\u003c...\u003e] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[\u003c...\u003e] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\n[\u003c...\u003e] ASID: 0003\n[\u003c...\u003e] Stack:\n[\u003c...\u003e]  ffffffff818a2315 00000000f5c856ee ffffffff896f1840 ffff888103ee2cb0\n[\u003c...\u003e]  ffff88812b6b9750 0000000079d714b6 fffffbfff1e9280b ffffffff8f49405f\n[\u003c...\u003e]  0000000000000001 0000000000000000 ffff888104457280 ffffffff8248b392\n[\u003c...\u003e] Call Trace:\n[\u003c...\u003e]  \u003cTASK\u003e\n[\u003c...\u003e]  [\u003cffffffff818a2315\u003e] ? lock_release+0x175/0x380 fffffe80416afaf0\n[\u003c...\u003e]  [\u003cffffffff8248b392\u003e] list_lru_del+0x152/0x740 fffffe80416afb48\n[\u003c...\u003e]  [\u003cffffffff8248ba93\u003e] list_lru_del_obj+0x113/0x280 fffffe80416afb88\n[\u003c...\u003e]  [\u003cffffffff8940fd19\u003e] ? _atomic_dec_and_lock+0x119/0x200 fffffe80416afb90\n[\u003c...\u003e]  [\u003cffffffff8295b244\u003e] iput_final+0x1c4/0x9a0 fffffe80416afbb8\n[\u003c...\u003e]  [\u003cffffffff8293a52b\u003e] dentry_unlink_inode+0x44b/0xaa0 fffffe80416afbf8\n[\u003c...\u003e]  [\u003cffffffff8293fefc\u003e] __dentry_kill+0x23c/0xf00 fffffe80416afc40\n[\u003c...\u003e]  [\u003cffffffff8953a85f\u003e] ? __this_cpu_preempt_check+0x1f/0xa0 fffffe80416afc48\n[\u003c...\u003e]  [\u003cffffffff82949ce5\u003e] ? shrink_dentry_list+0x1c5/0x760 fffffe80416afc70\n[\u003c...\u003e]  [\u003cffffffff82949b71\u003e] ? shrink_dentry_list+0x51/0x760 fffffe80416afc78\n[\u003c...\u003e]  [\u003cffffffff82949da8\u003e] shrink_dentry_list+0x288/0x760 fffffe80416afc80\n[\u003c...\u003e]  [\u003cffffffff8294ae75\u003e] shrink_dcache_sb+0x155/0x420 fffffe80416afcc8\n[\u003c...\u003e]  [\u003cffffffff8953a7c3\u003e] ? debug_smp_processor_id+0x23/0xa0 fffffe80416afce0\n[\u003c...\u003e]  [\u003cffffffff8294ad20\u003e] ? do_one_tre\n---truncated---"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-12-19T09:19:08.415Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/726f4c241e17be75a9cf6870d80cd7479dc89e8f"
        },
        {
          "url": "https://git.kernel.org/stable/c/061da60716ce0cde99f62f31937b81e1c03acef6"
        },
        {
          "url": "https://git.kernel.org/stable/c/0b6743bd60a56a701070b89fb80c327a44b7b3e2"
        }
      ],
      "title": "tracefs: Use generic inode RCU for synchronizing freeing",
      "x_generator": {
        "engine": "bippy-5f407fcff5a0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-44959",
    "datePublished": "2024-09-04T18:35:57.464Z",
    "dateReserved": "2024-08-21T05:34:56.666Z",
    "dateUpdated": "2024-12-19T09:19:08.415Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-44959\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-09-04T19:15:30.637\",\"lastModified\":\"2024-10-10T17:54:07.960\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ntracefs: Use generic inode RCU for synchronizing freeing\\n\\nWith structure layout randomization enabled for \u0027struct inode\u0027 we need to\\navoid overlapping any of the RCU-used / initialized-only-once members,\\ne.g. i_lru or i_sb_list to not corrupt related list traversals when making\\nuse of the rcu_head.\\n\\nFor an unlucky structure layout of \u0027struct inode\u0027 we may end up with the\\nfollowing splat when running the ftrace selftests:\\n\\n[\u003c...\u003e] list_del corruption, ffff888103ee2cb0-\u003enext (tracefs_inode_cache+0x0/0x4e0 [slab object]) is NULL (prev is tracefs_inode_cache+0x78/0x4e0 [slab object])\\n[\u003c...\u003e] ------------[ cut here ]------------\\n[\u003c...\u003e] kernel BUG at lib/list_debug.c:54!\\n[\u003c...\u003e] invalid opcode: 0000 [#1] PREEMPT SMP KASAN\\n[\u003c...\u003e] CPU: 3 PID: 2550 Comm: mount Tainted: G                 N  6.8.12-grsec+ #122 ed2f536ca62f28b087b90e3cc906a8d25b3ddc65\\n[\u003c...\u003e] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/01/2014\\n[\u003c...\u003e] RIP: 0010:[\u003cffffffff84656018\u003e] __list_del_entry_valid_or_report+0x138/0x3e0\\n[\u003c...\u003e] Code: 48 b8 99 fb 65 f2 ff ff ff ff e9 03 5c d9 fc cc 48 b8 99 fb 65 f2 ff ff ff ff e9 33 5a d9 fc cc 48 b8 99 fb 65 f2 ff ff ff ff \u003c0f\u003e 0b 4c 89 e9 48 89 ea 48 89 ee 48 c7 c7 60 8f dd 89 31 c0 e8 2f\\n[\u003c...\u003e] RSP: 0018:fffffe80416afaf0 EFLAGS: 00010283\\n[\u003c...\u003e] RAX: 0000000000000098 RBX: ffff888103ee2cb0 RCX: 0000000000000000\\n[\u003c...\u003e] RDX: ffffffff84655fe8 RSI: ffffffff89dd8b60 RDI: 0000000000000001\\n[\u003c...\u003e] RBP: ffff888103ee2cb0 R08: 0000000000000001 R09: fffffbd0082d5f25\\n[\u003c...\u003e] R10: fffffe80416af92f R11: 0000000000000001 R12: fdf99c16731d9b6d\\n[\u003c...\u003e] R13: 0000000000000000 R14: ffff88819ad4b8b8 R15: 0000000000000000\\n[\u003c...\u003e] RBX: tracefs_inode_cache+0x0/0x4e0 [slab object]\\n[\u003c...\u003e] RDX: __list_del_entry_valid_or_report+0x108/0x3e0\\n[\u003c...\u003e] RSI: __func__.47+0x4340/0x4400\\n[\u003c...\u003e] RBP: tracefs_inode_cache+0x0/0x4e0 [slab object]\\n[\u003c...\u003e] RSP: process kstack fffffe80416afaf0+0x7af0/0x8000 [mount 2550 2550]\\n[\u003c...\u003e] R09: kasan shadow of process kstack fffffe80416af928+0x7928/0x8000 [mount 2550 2550]\\n[\u003c...\u003e] R10: process kstack fffffe80416af92f+0x792f/0x8000 [mount 2550 2550]\\n[\u003c...\u003e] R14: tracefs_inode_cache+0x78/0x4e0 [slab object]\\n[\u003c...\u003e] FS:  00006dcb380c1840(0000) GS:ffff8881e0600000(0000) knlGS:0000000000000000\\n[\u003c...\u003e] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\\n[\u003c...\u003e] CR2: 000076ab72b30e84 CR3: 000000000b088004 CR4: 0000000000360ef0 shadow CR4: 0000000000360ef0\\n[\u003c...\u003e] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\\n[\u003c...\u003e] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\\n[\u003c...\u003e] ASID: 0003\\n[\u003c...\u003e] Stack:\\n[\u003c...\u003e]  ffffffff818a2315 00000000f5c856ee ffffffff896f1840 ffff888103ee2cb0\\n[\u003c...\u003e]  ffff88812b6b9750 0000000079d714b6 fffffbfff1e9280b ffffffff8f49405f\\n[\u003c...\u003e]  0000000000000001 0000000000000000 ffff888104457280 ffffffff8248b392\\n[\u003c...\u003e] Call Trace:\\n[\u003c...\u003e]  \u003cTASK\u003e\\n[\u003c...\u003e]  [\u003cffffffff818a2315\u003e] ? lock_release+0x175/0x380 fffffe80416afaf0\\n[\u003c...\u003e]  [\u003cffffffff8248b392\u003e] list_lru_del+0x152/0x740 fffffe80416afb48\\n[\u003c...\u003e]  [\u003cffffffff8248ba93\u003e] list_lru_del_obj+0x113/0x280 fffffe80416afb88\\n[\u003c...\u003e]  [\u003cffffffff8940fd19\u003e] ? _atomic_dec_and_lock+0x119/0x200 fffffe80416afb90\\n[\u003c...\u003e]  [\u003cffffffff8295b244\u003e] iput_final+0x1c4/0x9a0 fffffe80416afbb8\\n[\u003c...\u003e]  [\u003cffffffff8293a52b\u003e] dentry_unlink_inode+0x44b/0xaa0 fffffe80416afbf8\\n[\u003c...\u003e]  [\u003cffffffff8293fefc\u003e] __dentry_kill+0x23c/0xf00 fffffe80416afc40\\n[\u003c...\u003e]  [\u003cffffffff8953a85f\u003e] ? __this_cpu_preempt_check+0x1f/0xa0 fffffe80416afc48\\n[\u003c...\u003e]  [\u003cffffffff82949ce5\u003e] ? shrink_dentry_list+0x1c5/0x760 fffffe80416afc70\\n[\u003c...\u003e]  [\u003cffffffff82949b71\u003e] ? shrink_dentry_list+0x51/0x760 fffffe80416afc78\\n[\u003c...\u003e]  [\u003cffffffff82949da8\u003e] shrink_dentry_list+0x288/0x760 fffffe80416afc80\\n[\u003c...\u003e]  [\u003cffffffff8294ae75\u003e] shrink_dcache_sb+0x155/0x420 fffffe80416afcc8\\n[\u003c...\u003e]  [\u003cffffffff8953a7c3\u003e] ? debug_smp_processor_id+0x23/0xa0 fffffe80416afce0\\n[\u003c...\u003e]  [\u003cffffffff8294ad20\u003e] ? do_one_tre\\n---truncated---\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: tracefs: usar RCU de inodo gen\u00e9rico para sincronizar la liberaci\u00f3n con la aleatorizaci\u00f3n del dise\u00f1o de la estructura habilitada para \u0027struct inode\u0027, debemos evitar superponer cualquiera de los miembros de RCU utilizados o inicializados solo una vez, por ejemplo, i_lru o i_sb_list para no da\u00f1ar los recorridos de listas relacionadas al hacer uso de rcu_head. En caso de una disposici\u00f3n desafortunada de la estructura \u0027struct inode\u0027, podemos terminar con el siguiente resultado al ejecutar las pruebas autom\u00e1ticas de ftrace: [\u0026lt;...\u0026gt;] corrupci\u00f3n de list_del, ffff888103ee2cb0-\u0026gt;next (tracefs_inode_cache+0x0/0x4e0 [objeto slab]) es NULL (prev es tracefs_inode_cache+0x78/0x4e0 [objeto slab]) [\u0026lt;...\u0026gt;] ------------[ cortar aqu\u00ed ]------------ [\u0026lt;...\u0026gt;] \u00a1ERROR del kernel en lib/list_debug.c:54! [\u0026lt;...\u0026gt;] c\u00f3digo de operaci\u00f3n no v\u00e1lido: 0000 [#1] PREEMPT SMP KASAN [\u0026lt;...\u0026gt;] CPU: 3 PID: 2550 Comm: mount Contaminado: GN 6.8.12-grsec+ #122 ed2f536ca62f28b087b90e3cc906a8d25b3ddc65 [\u0026lt;...\u0026gt;] Nombre del hardware: PC est\u00e1ndar QEMU (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/01/2014 [\u0026lt;...\u0026gt;] RIP: 0010:[] __list_del_entry_valid_or_report+0x138/0x3e0 [\u0026lt;...\u0026gt;] C\u00f3digo: 48 b8 99 fb 65 f2 ff ff ff es e9 03 5c d9 fc cc 48 b8 99 fb 65 f2 es ff es ff es ff e9 33 5a d9 fc cc 48 b8 99 fb 65 f2 es ff es ff es ff \u0026lt;0f\u0026gt; 0b 4c 89 e9 48 89 ea 48 89 ee 48 c7 c7 60 8f dd 89 31 c0 e8 2f [\u0026lt;...\u0026gt;] RSP: 0018:fffffe80416afaf0 EFLAGS: 00010283 [\u0026lt;...\u0026gt;] RAX: 000000000000098 RBX: ffff888103ee2cb0 RCX: 0000000000000000 [\u0026lt;...\u0026gt;] RDX: RSI: ffffffff89dd8b60 RDI: 0000000000000001 [\u0026lt;...\u0026gt;] RBP: ffff888103ee2cb0 R08: 0000000000000001 R09: fffffbd0082d5f25 [\u0026lt;...\u0026gt;] R10: fffffe80416af92f R11: 0000000000000001 R12: fdf99c16731d9b6d [\u0026lt;...\u0026gt;] R13: 000000000000000 R14: ffff88819ad4b8b8 R15: 0000000000000000 [\u0026lt;...\u0026gt;] RBX: tracefs_inode_cache+0x0/0x4e0 [objeto de losa] [\u0026lt;...\u0026gt;] RDX: __list_del_entry_valid_or_report+0x108/0x3e0 [\u0026lt;...\u0026gt;] RSI: __func__.47+0x4340/0x4400 [\u0026lt;...\u0026gt;] RBP: tracefs_inode_cache+0x0/0x4e0 [objeto de losa] [\u0026lt;...\u0026gt;] RSP: proceso kstack fffffe80416afaf0+0x7af0/0x8000 [montaje 2550 2550] [\u0026lt;...\u0026gt;] R09: sombra de kasan del proceso kstack fffffe80416af928+0x7928/0x8000 [montaje 2550 2550] [\u0026lt;...\u0026gt;] R10: proceso kstack fffffe80416af92f+0x792f/0x8000 [montaje 2550 2550] [\u0026lt;...\u0026gt;] R14: tracefs_inode_cache+0x78/0x4e0 [objeto de losa] [\u0026lt;...\u0026gt;] FS: 00006dcb380c1840(0000) GS:ffff8881e0600000(0000) knlGS:0000000000000000 [\u0026lt;...\u0026gt;] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [\u0026lt;...\u0026gt;] CR2: 000076ab72b30e84 CR3: 000000000b088004 CR4: 0000000000360ef0 sombra CR4: 0000000000360ef0 [\u0026lt;...\u0026gt;] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 000000000000000 [\u0026lt;...\u0026gt;] DR3: 000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [\u0026lt;...\u0026gt;] ASID: 0003 [\u0026lt;...\u0026gt;] Pila: [\u0026lt;...\u0026gt;] ffffffff818a2315 00000000f5c856ee ffffffff896f1840 ffff888103ee2cb0 [\u0026lt;...\u0026gt;] ffff88812b6b9750 0000000079d714b6 fffffbfff1e9280b ffffffff8f49405f [\u0026lt;...\u0026gt;] 000000000000001 0000000000000000 ffff888104457280 ffffffff8248b392 [\u0026lt;...\u0026gt;] Rastreo de llamadas: [\u0026lt;...\u0026gt;]  [\u0026lt;...\u0026gt;] [] ? liberaci\u00f3n_de_bloqueo+0x175/0x380 fffffe80416afaf0 [\u0026lt;...\u0026gt;] [] lista_lru_del+0x152/0x740 fffffe80416afb48 [\u0026lt;...\u0026gt;] [] lista_lru_del_obj+0x113/0x280 fffffe80416afb88 [\u0026lt;...\u0026gt;] [] ? __dentry_kill+0x23c/0xf00 fffffe80416afc40 [\u0026lt;...\u0026gt;] [] ? __esta_comprobaci\u00f3n_previa_de_cpu+0x1f/0xa0 fffffe80416afc48 [\u0026lt;...\u0026gt;] [] ? lista_de_reducci\u00f3n_dentry+0x1c5/0x760 fffffe80416afc70 [\u0026lt;...\u0026gt;] [] ? lista_dentry_shrink+0x51/0x760 fffffe80416afc78 [\u0026lt;...\u0026gt;] [] lista_dentry_shrink+0x288/0x760 fffffe80416afc80 [\u0026lt;...\u0026gt;] [] lista_dentry_shrink+0x155/0x420 fffffe80416afcc8 [\u0026lt;...\u0026gt;] [] ? id_procesador_smp_depuraci\u00f3n+0x23/0xa0 fffffe80416afce0 [\u0026lt;...\u0026gt;] [] ? do_one_tre ---truncado---\"}],\"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:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.6.31\",\"versionEndExcluding\":\"6.6.46\",\"matchCriteriaId\":\"EB28F13B-5DD7-4C32-B506-0964915A6822\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.8.10\",\"versionEndExcluding\":\"6.9\",\"matchCriteriaId\":\"DD26A649-FB0B-4A7B-A16B-A9D27807D7E9\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.9\",\"versionEndExcluding\":\"6.10.5\",\"matchCriteriaId\":\"F07BD0FF-07AF-4DAD-8EB1-09FB50ABDC47\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"8B3CE743-2126-47A3-8B7C-822B502CF119\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"4DEB27E7-30AA-45CC-8934-B89263EF3551\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/061da60716ce0cde99f62f31937b81e1c03acef6\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/0b6743bd60a56a701070b89fb80c327a44b7b3e2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/726f4c241e17be75a9cf6870d80cd7479dc89e8f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}"
  }
}


Log in or create an account to share your comment.




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.