Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-124646

md: use-after-free because of repeated calls to del_gendisk

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • 1
    • rhel-storage-crs
    • crs - Sprint 6
    • 2
    • False
    • Hide

      None

      Show
      None
    • None

      There is a uaf problem which is found by case 23rdev-lifetime:

      Oops: general protection fault, probably for non-canonical address 0xdead000000000122
      RIP: 0010:bdi_unregister+0x4b/0x170
      Call Trace:
      <TASK>
      __del_gendisk+0x356/0x3e0
      mddev_unlock+0x351/0x360
      rdev_attr_store+0x217/0x280
      kernfs_fop_write_iter+0x14a/0x210
      vfs_write+0x29e/0x550
      ksys_write+0x74/0xf0
      do_syscall_64+0xbb/0x380
      entry_SYSCALL_64_after_hwframe+0x77/0x7f
      RIP: 0033:0x7ff5250a177e

      The sequence is:
      1. rdev remove path gets reconfig_mutex
      2. rdev remove path release reconfig_mutex in mddev_unlock
      3. md stop calls do_md_stop and sets MD_DELETED
      4. rdev remove path calls del_gendisk because MD_DELETED is set
      5. md stop path release reconfig_mutex and calls del_gendisk again

              xni@redhat.com Xiao Ni
              xni@redhat.com Xiao Ni
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: