CVE-2022-49196 (GCVE-0-2022-49196)
Vulnerability from cvelistv5
Published
2025-02-26 01:55
Modified
2025-05-04 12:44
Summary
In the Linux kernel, the following vulnerability has been resolved: powerpc/pseries: Fix use after free in remove_phb_dynamic() In remove_phb_dynamic() we use &phb->io_resource, after we've called device_unregister(&host_bridge->dev). But the unregister may have freed phb, because pcibios_free_controller_deferred() is the release function for the host_bridge. If there are no outstanding references when we call device_unregister() then phb will be freed out from under us. This has gone mainly unnoticed, but with slub_debug and page_poison enabled it can lead to a crash: PID: 7574 TASK: c0000000d492cb80 CPU: 13 COMMAND: "drmgr" #0 [c0000000e4f075a0] crash_kexec at c00000000027d7dc #1 [c0000000e4f075d0] oops_end at c000000000029608 #2 [c0000000e4f07650] __bad_page_fault at c0000000000904b4 #3 [c0000000e4f076c0] do_bad_slb_fault at c00000000009a5a8 #4 [c0000000e4f076f0] data_access_slb_common_virt at c000000000008b30 Data SLB Access [380] exception frame: R0: c000000000167250 R1: c0000000e4f07a00 R2: c000000002a46100 R3: c000000002b39ce8 R4: 00000000000000c0 R5: 00000000000000a9 R6: 3894674d000000c0 R7: 0000000000000000 R8: 00000000000000ff R9: 0000000000000100 R10: 6b6b6b6b6b6b6b6b R11: 0000000000008000 R12: c00000000023da80 R13: c0000009ffd38b00 R14: 0000000000000000 R15: 000000011c87f0f0 R16: 0000000000000006 R17: 0000000000000003 R18: 0000000000000002 R19: 0000000000000004 R20: 0000000000000005 R21: 000000011c87ede8 R22: 000000011c87c5a8 R23: 000000011c87d3a0 R24: 0000000000000000 R25: 0000000000000001 R26: c0000000e4f07cc8 R27: c00000004d1cc400 R28: c0080000031d00e8 R29: c00000004d23d800 R30: c00000004d1d2400 R31: c00000004d1d2540 NIP: c000000000167258 MSR: 8000000000009033 OR3: c000000000e9f474 CTR: 0000000000000000 LR: c000000000167250 XER: 0000000020040003 CCR: 0000000024088420 MQ: 0000000000000000 DAR: 6b6b6b6b6b6b6ba3 DSISR: c0000000e4f07920 Syscall Result: fffffffffffffff2 [NIP : release_resource+56] [LR : release_resource+48] #5 [c0000000e4f07a00] release_resource at c000000000167258 (unreliable) #6 [c0000000e4f07a30] remove_phb_dynamic at c000000000105648 #7 [c0000000e4f07ab0] dlpar_remove_slot at c0080000031a09e8 [rpadlpar_io] #8 [c0000000e4f07b50] remove_slot_store at c0080000031a0b9c [rpadlpar_io] #9 [c0000000e4f07be0] kobj_attr_store at c000000000817d8c #10 [c0000000e4f07c00] sysfs_kf_write at c00000000063e504 #11 [c0000000e4f07c20] kernfs_fop_write_iter at c00000000063d868 #12 [c0000000e4f07c70] new_sync_write at c00000000054339c #13 [c0000000e4f07d10] vfs_write at c000000000546624 #14 [c0000000e4f07d60] ksys_write at c0000000005469f4 #15 [c0000000e4f07db0] system_call_exception at c000000000030840 #16 [c0000000e4f07e10] system_call_vectored_common at c00000000000c168 To avoid it, we can take a reference to the host_bridge->dev until we're done using phb. Then when we drop the reference the phb will be freed.
Impacted products
Vendor Product Version
Linux Linux Version: 2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0
Version: 2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0
Version: 2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0
Version: 2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0
Version: c3e740838fe3117413425c956ac56a5724ccd9f9
Version: 83573addff2b4e16df9fad9a561a0d77d554b370
Create a notification for this product.
   Linux Linux Version: 4.8
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "attackComplexity": "LOW",
              "attackVector": "LOCAL",
              "availabilityImpact": "HIGH",
              "baseScore": 7.8,
              "baseSeverity": "HIGH",
              "confidentialityImpact": "HIGH",
              "integrityImpact": "HIGH",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
              "version": "3.1"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2022-49196",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-03-04T18:03:23.162575Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "cweId": "CWE-416",
                "description": "CWE-416 Use After Free",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-05-01T17:19:08.367Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/powerpc/platforms/pseries/pci_dlpar.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "33d39efb61a84e055ca2386157d39ebbdf6b7d31",
              "status": "affected",
              "version": "2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0",
              "versionType": "git"
            },
            {
              "lessThan": "403f9e0bc5535a0a5184d1352fa3a70e6ffacb6f",
              "status": "affected",
              "version": "2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0",
              "versionType": "git"
            },
            {
              "lessThan": "895ca4ae1f72e0a0160ab162723e59c9f265ec93",
              "status": "affected",
              "version": "2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0",
              "versionType": "git"
            },
            {
              "lessThan": "fe2640bd7a62f1f7c3f55fbda31084085075bc30",
              "status": "affected",
              "version": "2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "c3e740838fe3117413425c956ac56a5724ccd9f9",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "83573addff2b4e16df9fad9a561a0d77d554b370",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/powerpc/platforms/pseries/pci_dlpar.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.8"
            },
            {
              "lessThan": "4.8",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.33",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.16.*",
              "status": "unaffected",
              "version": "5.16.19",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.17.*",
              "status": "unaffected",
              "version": "5.17.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.18",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.33",
                  "versionStartIncluding": "4.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.16.19",
                  "versionStartIncluding": "4.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.17.2",
                  "versionStartIncluding": "4.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.18",
                  "versionStartIncluding": "4.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "3.16.39",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.7.8",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\npowerpc/pseries: Fix use after free in remove_phb_dynamic()\n\nIn remove_phb_dynamic() we use \u0026phb-\u003eio_resource, after we\u0027ve called\ndevice_unregister(\u0026host_bridge-\u003edev). But the unregister may have freed\nphb, because pcibios_free_controller_deferred() is the release function\nfor the host_bridge.\n\nIf there are no outstanding references when we call device_unregister()\nthen phb will be freed out from under us.\n\nThis has gone mainly unnoticed, but with slub_debug and page_poison\nenabled it can lead to a crash:\n\n  PID: 7574   TASK: c0000000d492cb80  CPU: 13  COMMAND: \"drmgr\"\n   #0 [c0000000e4f075a0] crash_kexec at c00000000027d7dc\n   #1 [c0000000e4f075d0] oops_end at c000000000029608\n   #2 [c0000000e4f07650] __bad_page_fault at c0000000000904b4\n   #3 [c0000000e4f076c0] do_bad_slb_fault at c00000000009a5a8\n   #4 [c0000000e4f076f0] data_access_slb_common_virt at c000000000008b30\n   Data SLB Access [380] exception frame:\n   R0:  c000000000167250    R1:  c0000000e4f07a00    R2:  c000000002a46100\n   R3:  c000000002b39ce8    R4:  00000000000000c0    R5:  00000000000000a9\n   R6:  3894674d000000c0    R7:  0000000000000000    R8:  00000000000000ff\n   R9:  0000000000000100    R10: 6b6b6b6b6b6b6b6b    R11: 0000000000008000\n   R12: c00000000023da80    R13: c0000009ffd38b00    R14: 0000000000000000\n   R15: 000000011c87f0f0    R16: 0000000000000006    R17: 0000000000000003\n   R18: 0000000000000002    R19: 0000000000000004    R20: 0000000000000005\n   R21: 000000011c87ede8    R22: 000000011c87c5a8    R23: 000000011c87d3a0\n   R24: 0000000000000000    R25: 0000000000000001    R26: c0000000e4f07cc8\n   R27: c00000004d1cc400    R28: c0080000031d00e8    R29: c00000004d23d800\n   R30: c00000004d1d2400    R31: c00000004d1d2540\n   NIP: c000000000167258    MSR: 8000000000009033    OR3: c000000000e9f474\n   CTR: 0000000000000000    LR:  c000000000167250    XER: 0000000020040003\n   CCR: 0000000024088420    MQ:  0000000000000000    DAR: 6b6b6b6b6b6b6ba3\n   DSISR: c0000000e4f07920     Syscall Result: fffffffffffffff2\n   [NIP  : release_resource+56]\n   [LR   : release_resource+48]\n   #5 [c0000000e4f07a00] release_resource at c000000000167258  (unreliable)\n   #6 [c0000000e4f07a30] remove_phb_dynamic at c000000000105648\n   #7 [c0000000e4f07ab0] dlpar_remove_slot at c0080000031a09e8 [rpadlpar_io]\n   #8 [c0000000e4f07b50] remove_slot_store at c0080000031a0b9c [rpadlpar_io]\n   #9 [c0000000e4f07be0] kobj_attr_store at c000000000817d8c\n  #10 [c0000000e4f07c00] sysfs_kf_write at c00000000063e504\n  #11 [c0000000e4f07c20] kernfs_fop_write_iter at c00000000063d868\n  #12 [c0000000e4f07c70] new_sync_write at c00000000054339c\n  #13 [c0000000e4f07d10] vfs_write at c000000000546624\n  #14 [c0000000e4f07d60] ksys_write at c0000000005469f4\n  #15 [c0000000e4f07db0] system_call_exception at c000000000030840\n  #16 [c0000000e4f07e10] system_call_vectored_common at c00000000000c168\n\nTo avoid it, we can take a reference to the host_bridge-\u003edev until we\u0027re\ndone using phb. Then when we drop the reference the phb will be freed."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-05-04T12:44:21.162Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/33d39efb61a84e055ca2386157d39ebbdf6b7d31"
        },
        {
          "url": "https://git.kernel.org/stable/c/403f9e0bc5535a0a5184d1352fa3a70e6ffacb6f"
        },
        {
          "url": "https://git.kernel.org/stable/c/895ca4ae1f72e0a0160ab162723e59c9f265ec93"
        },
        {
          "url": "https://git.kernel.org/stable/c/fe2640bd7a62f1f7c3f55fbda31084085075bc30"
        }
      ],
      "title": "powerpc/pseries: Fix use after free in remove_phb_dynamic()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-49196",
    "datePublished": "2025-02-26T01:55:40.626Z",
    "dateReserved": "2025-02-26T01:49:39.290Z",
    "dateUpdated": "2025-05-04T12:44:21.162Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-49196\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-02-26T07:00:56.677\",\"lastModified\":\"2025-03-25T15:07:33.423\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\npowerpc/pseries: Fix use after free in remove_phb_dynamic()\\n\\nIn remove_phb_dynamic() we use \u0026phb-\u003eio_resource, after we\u0027ve called\\ndevice_unregister(\u0026host_bridge-\u003edev). But the unregister may have freed\\nphb, because pcibios_free_controller_deferred() is the release function\\nfor the host_bridge.\\n\\nIf there are no outstanding references when we call device_unregister()\\nthen phb will be freed out from under us.\\n\\nThis has gone mainly unnoticed, but with slub_debug and page_poison\\nenabled it can lead to a crash:\\n\\n  PID: 7574   TASK: c0000000d492cb80  CPU: 13  COMMAND: \\\"drmgr\\\"\\n   #0 [c0000000e4f075a0] crash_kexec at c00000000027d7dc\\n   #1 [c0000000e4f075d0] oops_end at c000000000029608\\n   #2 [c0000000e4f07650] __bad_page_fault at c0000000000904b4\\n   #3 [c0000000e4f076c0] do_bad_slb_fault at c00000000009a5a8\\n   #4 [c0000000e4f076f0] data_access_slb_common_virt at c000000000008b30\\n   Data SLB Access [380] exception frame:\\n   R0:  c000000000167250    R1:  c0000000e4f07a00    R2:  c000000002a46100\\n   R3:  c000000002b39ce8    R4:  00000000000000c0    R5:  00000000000000a9\\n   R6:  3894674d000000c0    R7:  0000000000000000    R8:  00000000000000ff\\n   R9:  0000000000000100    R10: 6b6b6b6b6b6b6b6b    R11: 0000000000008000\\n   R12: c00000000023da80    R13: c0000009ffd38b00    R14: 0000000000000000\\n   R15: 000000011c87f0f0    R16: 0000000000000006    R17: 0000000000000003\\n   R18: 0000000000000002    R19: 0000000000000004    R20: 0000000000000005\\n   R21: 000000011c87ede8    R22: 000000011c87c5a8    R23: 000000011c87d3a0\\n   R24: 0000000000000000    R25: 0000000000000001    R26: c0000000e4f07cc8\\n   R27: c00000004d1cc400    R28: c0080000031d00e8    R29: c00000004d23d800\\n   R30: c00000004d1d2400    R31: c00000004d1d2540\\n   NIP: c000000000167258    MSR: 8000000000009033    OR3: c000000000e9f474\\n   CTR: 0000000000000000    LR:  c000000000167250    XER: 0000000020040003\\n   CCR: 0000000024088420    MQ:  0000000000000000    DAR: 6b6b6b6b6b6b6ba3\\n   DSISR: c0000000e4f07920     Syscall Result: fffffffffffffff2\\n   [NIP  : release_resource+56]\\n   [LR   : release_resource+48]\\n   #5 [c0000000e4f07a00] release_resource at c000000000167258  (unreliable)\\n   #6 [c0000000e4f07a30] remove_phb_dynamic at c000000000105648\\n   #7 [c0000000e4f07ab0] dlpar_remove_slot at c0080000031a09e8 [rpadlpar_io]\\n   #8 [c0000000e4f07b50] remove_slot_store at c0080000031a0b9c [rpadlpar_io]\\n   #9 [c0000000e4f07be0] kobj_attr_store at c000000000817d8c\\n  #10 [c0000000e4f07c00] sysfs_kf_write at c00000000063e504\\n  #11 [c0000000e4f07c20] kernfs_fop_write_iter at c00000000063d868\\n  #12 [c0000000e4f07c70] new_sync_write at c00000000054339c\\n  #13 [c0000000e4f07d10] vfs_write at c000000000546624\\n  #14 [c0000000e4f07d60] ksys_write at c0000000005469f4\\n  #15 [c0000000e4f07db0] system_call_exception at c000000000030840\\n  #16 [c0000000e4f07e10] system_call_vectored_common at c00000000000c168\\n\\nTo avoid it, we can take a reference to the host_bridge-\u003edev until we\u0027re\\ndone using phb. Then when we drop the reference the phb will be freed.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: powerpc/pseries: Se corrige el uso despu\u00e9s de liberar en remove_phb_dynamic() En remove_phb_dynamic() usamos \u0026amp;phb-\u0026gt;io_resource, despu\u00e9s de haber llamado a device_unregister(\u0026amp;host_bridge-\u0026gt;dev). Pero la anulaci\u00f3n del registro puede haber liberado a phb, porque pcibios_free_controller_deferred() es la funci\u00f3n de liberaci\u00f3n para host_bridge. Si no hay referencias pendientes cuando llamamos a device_unregister(), phb se liberar\u00e1 de nosotros. Esto ha pasado desapercibido, pero con slub_debug y page_poison habilitados puede provocar un bloqueo: PID: 7574 TAREA: c0000000d492cb80 CPU: 13 COMANDO: \\\"drmgr\\\" #0 [c0000000e4f075a0] crash_kexec at c00000000027d7dc #1 [c0000000e4f075d0] oops_end at c000000000029608 #2 [c0000000e4f07650] __bad_page_fault at c0000000000904b4 #3 [c0000000e4f076c0] do_bad_slb_fault at c00000000009a5a8 #4 [c0000000e4f076f0] data_access_slb_common_virt en c000000000008b30 Marco de excepci\u00f3n de acceso a datos SLB [380]: R0: c000000000167250 R1: c0000000e4f07a00 R2: c000000002a46100 R3: c000000002b39ce8 R4: 00000000000000c0 R5: 00000000000000a9 R6: 3894674d000000c0 R7: 0000000000000000 R8: 000000000000000ff R9: 0000000000000100 R10: 6b6b6b6b6b6b6b6b R11: 0000000000008000 R12: c00000000023da80 R13: c0000009ffd38b00 R14: 0000000000000000 R15: 000000011c87f0f0 R16: 0000000000000006 R17: 0000000000000003 R18: 0000000000000002 R19: 0000000000000004 R20: 0000000000000005 R21: 000000011c87ede8 R22: 000000011c87c5a8 R23: 000000011c87d3a0 R24: 0000000000000000 R25: 0000000000000001 R26: c0000000e4f07cc8 R27: c00000004d1cc400 R28: c0080000031d00e8 R29: c00000004d23d800 R30: c00000004d1d2400 R31: c00000004d1d2540 PIP: c000000000167258 MSR: 8000000000009033 OR3: c000000000e9f474 CTR: 0000000000000000 LR: c000000000167250 XER: 0000000020040003 CCR: 0000000024088420 MQ: 0000000000000000 DAR: 6b6b6b6b6b6b6ba3 DSISR: c0000000e4f07920 Resultado de llamada al sistema: fffffffffffffff2 [NIP: release_resource+56] [LR: release_resource+48] #5 [c0000000e4f07a00] release_resource en c000000000167258 (no confiable) #6 [c0000000e4f07a30] remove_phb_dynamic en c000000000105648 #7 [c0000000e4f07ab0] dlpar_remove_slot en c0080000031a09e8 [rpadlpar_io] #8 [c0000000e4f07b50] remove_slot_store en c0080000031a0b9c [rpadlpar_io] #9 [c0000000e4f07be0] kobj_attr_store en c000000000817d8c #10 [c0000000e4f07c00] sysfs_kf_write en c00000000063e504 #11 [c0000000e4f07c20] kernfs_fop_write_iter en c00000000063d868 #12 [c0000000e4f07c70] new_sync_write en c00000000054339c #13 [c0000000e4f07d10] vfs_write en c000000000546624 #14 [c0000000e4f07d60] ksys_write en c0000000005469f4 #15 [c0000000e4f07db0] system_call_exception at c000000000030840 #16 [c0000000e4f07e10] system_call_vectored_common at c00000000000c168 Para evitarlo, podemos tomar una referencia a host_bridge-\u0026gt;dev hasta que terminemos de usar phb. Luego, cuando eliminemos la referencia, se liberar\u00e1 phb.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"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\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"3.16.39\",\"versionEndExcluding\":\"3.17\",\"matchCriteriaId\":\"BA789D31-0F96-422B-81E8-27E5D87B93D0\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.7.8\",\"versionEndExcluding\":\"5.15.33\",\"matchCriteriaId\":\"9CC2B4A2-19D0-4A85-94C5-B8A6D1F0DA6A\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"5.16.19\",\"matchCriteriaId\":\"20C43679-0439-405A-B97F-685BEE50613B\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.17\",\"versionEndExcluding\":\"5.17.2\",\"matchCriteriaId\":\"210C679C-CF84-44A3-8939-E629C87E54BF\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/33d39efb61a84e055ca2386157d39ebbdf6b7d31\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/403f9e0bc5535a0a5184d1352fa3a70e6ffacb6f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/895ca4ae1f72e0a0160ab162723e59c9f265ec93\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/fe2640bd7a62f1f7c3f55fbda31084085075bc30\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 7.8, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"HIGH\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2022-49196\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-03-04T18:03:23.162575Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-416\", \"description\": \"CWE-416 Use After Free\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-03-04T18:03:24.456Z\"}}], \"cna\": {\"title\": \"powerpc/pseries: Fix use after free in remove_phb_dynamic()\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0\", \"lessThan\": \"33d39efb61a84e055ca2386157d39ebbdf6b7d31\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0\", \"lessThan\": \"403f9e0bc5535a0a5184d1352fa3a70e6ffacb6f\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0\", \"lessThan\": \"895ca4ae1f72e0a0160ab162723e59c9f265ec93\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0\", \"lessThan\": \"fe2640bd7a62f1f7c3f55fbda31084085075bc30\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"c3e740838fe3117413425c956ac56a5724ccd9f9\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"83573addff2b4e16df9fad9a561a0d77d554b370\", \"versionType\": \"git\"}], \"programFiles\": [\"arch/powerpc/platforms/pseries/pci_dlpar.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4.8\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.8\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.15.33\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"5.16.19\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.16.*\"}, {\"status\": \"unaffected\", \"version\": \"5.17.2\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.17.*\"}, {\"status\": \"unaffected\", \"version\": \"5.18\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"arch/powerpc/platforms/pseries/pci_dlpar.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/33d39efb61a84e055ca2386157d39ebbdf6b7d31\"}, {\"url\": \"https://git.kernel.org/stable/c/403f9e0bc5535a0a5184d1352fa3a70e6ffacb6f\"}, {\"url\": \"https://git.kernel.org/stable/c/895ca4ae1f72e0a0160ab162723e59c9f265ec93\"}, {\"url\": \"https://git.kernel.org/stable/c/fe2640bd7a62f1f7c3f55fbda31084085075bc30\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\npowerpc/pseries: Fix use after free in remove_phb_dynamic()\\n\\nIn remove_phb_dynamic() we use \u0026phb-\u003eio_resource, after we\u0027ve called\\ndevice_unregister(\u0026host_bridge-\u003edev). But the unregister may have freed\\nphb, because pcibios_free_controller_deferred() is the release function\\nfor the host_bridge.\\n\\nIf there are no outstanding references when we call device_unregister()\\nthen phb will be freed out from under us.\\n\\nThis has gone mainly unnoticed, but with slub_debug and page_poison\\nenabled it can lead to a crash:\\n\\n  PID: 7574   TASK: c0000000d492cb80  CPU: 13  COMMAND: \\\"drmgr\\\"\\n   #0 [c0000000e4f075a0] crash_kexec at c00000000027d7dc\\n   #1 [c0000000e4f075d0] oops_end at c000000000029608\\n   #2 [c0000000e4f07650] __bad_page_fault at c0000000000904b4\\n   #3 [c0000000e4f076c0] do_bad_slb_fault at c00000000009a5a8\\n   #4 [c0000000e4f076f0] data_access_slb_common_virt at c000000000008b30\\n   Data SLB Access [380] exception frame:\\n   R0:  c000000000167250    R1:  c0000000e4f07a00    R2:  c000000002a46100\\n   R3:  c000000002b39ce8    R4:  00000000000000c0    R5:  00000000000000a9\\n   R6:  3894674d000000c0    R7:  0000000000000000    R8:  00000000000000ff\\n   R9:  0000000000000100    R10: 6b6b6b6b6b6b6b6b    R11: 0000000000008000\\n   R12: c00000000023da80    R13: c0000009ffd38b00    R14: 0000000000000000\\n   R15: 000000011c87f0f0    R16: 0000000000000006    R17: 0000000000000003\\n   R18: 0000000000000002    R19: 0000000000000004    R20: 0000000000000005\\n   R21: 000000011c87ede8    R22: 000000011c87c5a8    R23: 000000011c87d3a0\\n   R24: 0000000000000000    R25: 0000000000000001    R26: c0000000e4f07cc8\\n   R27: c00000004d1cc400    R28: c0080000031d00e8    R29: c00000004d23d800\\n   R30: c00000004d1d2400    R31: c00000004d1d2540\\n   NIP: c000000000167258    MSR: 8000000000009033    OR3: c000000000e9f474\\n   CTR: 0000000000000000    LR:  c000000000167250    XER: 0000000020040003\\n   CCR: 0000000024088420    MQ:  0000000000000000    DAR: 6b6b6b6b6b6b6ba3\\n   DSISR: c0000000e4f07920     Syscall Result: fffffffffffffff2\\n   [NIP  : release_resource+56]\\n   [LR   : release_resource+48]\\n   #5 [c0000000e4f07a00] release_resource at c000000000167258  (unreliable)\\n   #6 [c0000000e4f07a30] remove_phb_dynamic at c000000000105648\\n   #7 [c0000000e4f07ab0] dlpar_remove_slot at c0080000031a09e8 [rpadlpar_io]\\n   #8 [c0000000e4f07b50] remove_slot_store at c0080000031a0b9c [rpadlpar_io]\\n   #9 [c0000000e4f07be0] kobj_attr_store at c000000000817d8c\\n  #10 [c0000000e4f07c00] sysfs_kf_write at c00000000063e504\\n  #11 [c0000000e4f07c20] kernfs_fop_write_iter at c00000000063d868\\n  #12 [c0000000e4f07c70] new_sync_write at c00000000054339c\\n  #13 [c0000000e4f07d10] vfs_write at c000000000546624\\n  #14 [c0000000e4f07d60] ksys_write at c0000000005469f4\\n  #15 [c0000000e4f07db0] system_call_exception at c000000000030840\\n  #16 [c0000000e4f07e10] system_call_vectored_common at c00000000000c168\\n\\nTo avoid it, we can take a reference to the host_bridge-\u003edev until we\u0027re\\ndone using phb. Then when we drop the reference the phb will be freed.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.33\", \"versionStartIncluding\": \"4.8\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.16.19\", \"versionStartIncluding\": \"4.8\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.17.2\", \"versionStartIncluding\": \"4.8\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.18\", \"versionStartIncluding\": \"4.8\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"3.16.39\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"4.7.8\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2025-05-04T12:44:21.162Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2022-49196\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-05-04T12:44:21.162Z\", \"dateReserved\": \"2025-02-26T01:49:39.290Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2025-02-26T01:55:40.626Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}


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.


Loading…