CVE-2026-23184 (GCVE-0-2026-23184)

Vulnerability from cvelistv5 – Published: 2026-02-14 16:27 – Updated: 2026-08-05 12:20
VLAI
Title
binder: fix UAF in binder_netlink_report()
Summary
In the Linux kernel, the following vulnerability has been resolved: binder: fix UAF in binder_netlink_report() Oneway transactions sent to frozen targets via binder_proc_transaction() return a BR_TRANSACTION_PENDING_FROZEN error but they are still treated as successful since the target is expected to thaw at some point. It is then not safe to access 't' after BR_TRANSACTION_PENDING_FROZEN errors as the transaction could have been consumed by the now thawed target. This is the case for binder_netlink_report() which derreferences 't' after a pending frozen error, as pointed out by the following KASAN report: ================================================================== BUG: KASAN: slab-use-after-free in binder_netlink_report.isra.0+0x694/0x6c8 Read of size 8 at addr ffff00000f98ba38 by task binder-util/522 CPU: 4 UID: 0 PID: 522 Comm: binder-util Not tainted 6.19.0-rc6-00015-gc03e9c42ae8f #1 PREEMPT Hardware name: linux,dummy-virt (DT) Call trace: binder_netlink_report.isra.0+0x694/0x6c8 binder_transaction+0x66e4/0x79b8 binder_thread_write+0xab4/0x4440 binder_ioctl+0x1fd4/0x2940 [...] Allocated by task 522: __kmalloc_cache_noprof+0x17c/0x50c binder_transaction+0x584/0x79b8 binder_thread_write+0xab4/0x4440 binder_ioctl+0x1fd4/0x2940 [...] Freed by task 488: kfree+0x1d0/0x420 binder_free_transaction+0x150/0x234 binder_thread_read+0x2d08/0x3ce4 binder_ioctl+0x488/0x2940 [...] ================================================================== Instead, make a transaction copy so the data can be safely accessed by binder_netlink_report() after a pending frozen error. While here, add a comment about not using t->buffer in binder_netlink_report().
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 63740349eba78f242bcbf60d5244d7f2b2600853 , < a6050dedb6f1cc23e518e3a132ab74a0aad6df90 (git)
Affected: 63740349eba78f242bcbf60d5244d7f2b2600853 , < 5e8a3d01544282e50d887d76f30d1496a0a53562 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.18
Unaffected: 0 , < 6.18 (semver)
Unaffected: 6.18.10 , ≤ 6.18.* (semver)
Unaffected: 6.19 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/android/binder.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "a6050dedb6f1cc23e518e3a132ab74a0aad6df90",
              "status": "affected",
              "version": "63740349eba78f242bcbf60d5244d7f2b2600853",
              "versionType": "git"
            },
            {
              "lessThan": "5e8a3d01544282e50d887d76f30d1496a0a53562",
              "status": "affected",
              "version": "63740349eba78f242bcbf60d5244d7f2b2600853",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/android/binder.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.18"
            },
            {
              "lessThan": "6.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.19",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.10",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19",
                  "versionStartIncluding": "6.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbinder: fix UAF in binder_netlink_report()\n\nOneway transactions sent to frozen targets via binder_proc_transaction()\nreturn a BR_TRANSACTION_PENDING_FROZEN error but they are still treated\nas successful since the target is expected to thaw at some point. It is\nthen not safe to access \u0027t\u0027 after BR_TRANSACTION_PENDING_FROZEN errors\nas the transaction could have been consumed by the now thawed target.\n\nThis is the case for binder_netlink_report() which derreferences \u0027t\u0027\nafter a pending frozen error, as pointed out by the following KASAN\nreport:\n\n  ==================================================================\n  BUG: KASAN: slab-use-after-free in binder_netlink_report.isra.0+0x694/0x6c8\n  Read of size 8 at addr ffff00000f98ba38 by task binder-util/522\n\n  CPU: 4 UID: 0 PID: 522 Comm: binder-util Not tainted 6.19.0-rc6-00015-gc03e9c42ae8f #1 PREEMPT\n  Hardware name: linux,dummy-virt (DT)\n  Call trace:\n   binder_netlink_report.isra.0+0x694/0x6c8\n   binder_transaction+0x66e4/0x79b8\n   binder_thread_write+0xab4/0x4440\n   binder_ioctl+0x1fd4/0x2940\n   [...]\n\n  Allocated by task 522:\n   __kmalloc_cache_noprof+0x17c/0x50c\n   binder_transaction+0x584/0x79b8\n   binder_thread_write+0xab4/0x4440\n   binder_ioctl+0x1fd4/0x2940\n   [...]\n\n  Freed by task 488:\n   kfree+0x1d0/0x420\n   binder_free_transaction+0x150/0x234\n   binder_thread_read+0x2d08/0x3ce4\n   binder_ioctl+0x488/0x2940\n   [...]\n  ==================================================================\n\nInstead, make a transaction copy so the data can be safely accessed by\nbinder_netlink_report() after a pending frozen error. While here, add a\ncomment about not using t-\u003ebuffer in binder_netlink_report()."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - Binder is accessed via /dev/binder device file through ioctl(BINDER_WRITE_READ), requiring local system access. It is not reachable over the network.\nAC:L - The attacker controls both sides of the race: they freeze the target via BINDER_FREEZE (no privilege check), send the oneway transaction, then thaw the target to trigger the free. This makes the race reliably triggerable.\nPR:L - Any unprivileged process that can open /dev/binder can trigger this. On Android, any app has binder access. No special capabilities or root privileges are required.\nUI:N - No user interaction is needed. The attacker can trigger the entire sequence (freeze, send transaction, thaw) programmatically without any victim action.\nS:U - This is a standard kernel UAF exploitable for privilege escalation within the same security authority (kernel). No VM escape or sandbox boundary crossing is involved.\nC:H - The UAF allows reading freed kernel heap memory. With heap spraying to control the freed object\u0027s contents, an attacker can achieve arbitrary kernel memory reads.\nI:H - The UAF enables heap spraying the freed binder_transaction object, giving the attacker write primitives and control flow hijacking capability in the kernel.\nA:H - As demonstrated by the KASAN report, accessing freed memory causes a kernel crash. The UAF reliably triggers a kernel oops/panic."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:20:31.428Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/a6050dedb6f1cc23e518e3a132ab74a0aad6df90"
        },
        {
          "url": "https://git.kernel.org/stable/c/5e8a3d01544282e50d887d76f30d1496a0a53562"
        }
      ],
      "title": "binder: fix UAF in binder_netlink_report()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-23184",
    "datePublished": "2026-02-14T16:27:14.167Z",
    "dateReserved": "2026-01-13T15:37:45.984Z",
    "dateUpdated": "2026-08-05T12:20:31.428Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-23184",
      "date": "2026-09-28",
      "epss": "0.00125",
      "percentile": "0.01906"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/android/binder.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "a6050dedb6f1cc23e518e3a132ab74a0aad6df90",
                    "status": "affected",
                    "version": "63740349eba78f242bcbf60d5244d7f2b2600853",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "5e8a3d01544282e50d887d76f30d1496a0a53562",
                    "status": "affected",
                    "version": "63740349eba78f242bcbf60d5244d7f2b2600853",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/android/binder.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.18"
                  },
                  {
                    "lessThan": "6.18",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.10",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "6.19",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "32F6354D-FB80-4DEC-B5BD-29DA22C31C55",
                    "versionEndExcluding": "6.18.10",
                    "versionStartIncluding": "6.18",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:*",
                    "matchCriteriaId": "17B67AA7-40D6-4AFA-8459-F200F3D7CFD1",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:*",
                    "matchCriteriaId": "C47E4CC9-C826-4FA9-B014-7FE3D9B318B2",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:*",
                    "matchCriteriaId": "F71D92C0-C023-48BD-B3B6-70B638EEE298",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:*",
                    "matchCriteriaId": "13580667-0A98-40CC-B29F-D12790B91BDB",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:*",
                    "matchCriteriaId": "CAD1FED7-CF48-47BF-AC7D-7B6FA3C065FC",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc6:*:*:*:*:*:*",
                    "matchCriteriaId": "3EF854A1-ABB1-4E93-BE9A-44569EC76C0D",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc7:*:*:*:*:*:*",
                    "matchCriteriaId": "F5DC0CA6-F0AF-4DDF-A882-3DADB9A886A7",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc8:*:*:*:*:*:*",
                    "matchCriteriaId": "EB5B7DFC-C36B-45D8-922C-877569FDDF43",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbinder: fix UAF in binder_netlink_report()\n\nOneway transactions sent to frozen targets via binder_proc_transaction()\nreturn a BR_TRANSACTION_PENDING_FROZEN error but they are still treated\nas successful since the target is expected to thaw at some point. It is\nthen not safe to access \u0027t\u0027 after BR_TRANSACTION_PENDING_FROZEN errors\nas the transaction could have been consumed by the now thawed target.\n\nThis is the case for binder_netlink_report() which derreferences \u0027t\u0027\nafter a pending frozen error, as pointed out by the following KASAN\nreport:\n\n  ==================================================================\n  BUG: KASAN: slab-use-after-free in binder_netlink_report.isra.0+0x694/0x6c8\n  Read of size 8 at addr ffff00000f98ba38 by task binder-util/522\n\n  CPU: 4 UID: 0 PID: 522 Comm: binder-util Not tainted 6.19.0-rc6-00015-gc03e9c42ae8f #1 PREEMPT\n  Hardware name: linux,dummy-virt (DT)\n  Call trace:\n   binder_netlink_report.isra.0+0x694/0x6c8\n   binder_transaction+0x66e4/0x79b8\n   binder_thread_write+0xab4/0x4440\n   binder_ioctl+0x1fd4/0x2940\n   [...]\n\n  Allocated by task 522:\n   __kmalloc_cache_noprof+0x17c/0x50c\n   binder_transaction+0x584/0x79b8\n   binder_thread_write+0xab4/0x4440\n   binder_ioctl+0x1fd4/0x2940\n   [...]\n\n  Freed by task 488:\n   kfree+0x1d0/0x420\n   binder_free_transaction+0x150/0x234\n   binder_thread_read+0x2d08/0x3ce4\n   binder_ioctl+0x488/0x2940\n   [...]\n  ==================================================================\n\nInstead, make a transaction copy so the data can be safely accessed by\nbinder_netlink_report() after a pending frozen error. While here, add a\ncomment about not using t-\u003ebuffer in binder_netlink_report()."
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nbinder: corregir UAF en binder_netlink_report()\n\nLas transacciones unidireccionales enviadas a objetivos congelados a trav\u00e9s de binder_proc_transaction() devuelven un error BR_TRANSACTION_PENDING_FROZEN pero a\u00fan se tratan como exitosas ya que se espera que el objetivo se descongele en alg\u00fan momento. Por lo tanto, no es seguro acceder a \u0027t\u0027 despu\u00e9s de errores BR_TRANSACTION_PENDING_FROZEN, ya que la transacci\u00f3n podr\u00eda haber sido consumida por el objetivo ahora descongelado.\n\nEste es el caso de binder_netlink_report() que desreferencia \u0027t\u0027 despu\u00e9s de un error de congelaci\u00f3n pendiente, como lo se\u00f1ala el siguiente informe KASAN:\n\n  ==================================================================\n  ERROR: KASAN: uso despu\u00e9s de liberaci\u00f3n de slab en binder_netlink_report.isra.0+0x694/0x6c8\n  Lectura de tama\u00f1o 8 en la direcci\u00f3n ffff00000f98ba38 por la tarea binder-util/522\n\n  CPU: 4 UID: 0 PID: 522 Comm: binder-util No contaminado 6.19.0-rc6-00015-gc03e9c42ae8f #1 PREEMPT\n  Nombre del hardware: linux,dummy-virt (DT)\n  Rastro de llamada:\n   binder_netlink_report.isra.0+0x694/0x6c8\n   binder_transaction+0x66e4/0x79b8\n   binder_thread_write+0xab4/0x4440\n   binder_ioctl+0x1fd4/0x2940\n   [...]\n\n  Asignado por la tarea 522:\n   __kmalloc_cache_noprof+0x17c/0x50c\n   binder_transaction+0x584/0x79b8\n   binder_thread_write+0xab4/0x4440\n   binder_ioctl+0x1fd4/0x2940\n   [...]\n\n  Liberado por la tarea 488:\n   kfree+0x1d0/0x420\n   binder_free_transaction+0x150/0x234\n   binder_thread_read+0x2d08/0x3ce4\n   binder_ioctl+0x488/0x2940\n   [...]\n  ==================================================================\n\nEn su lugar, haga una copia de la transacci\u00f3n para que los datos puedan ser accedidos de forma segura por binder_netlink_report() despu\u00e9s de un error de congelaci\u00f3n pendiente. Ya que estamos, a\u00f1ada un comentario sobre no usar t-\u0026gt;buffer en binder_netlink_report()."
          }
        ],
        "id": "CVE-2026-23184",
        "lastModified": "2026-06-17T10:21:03.340",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "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"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            },
            {
              "cvssData": {
                "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"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ]
        },
        "published": "2026-02-14T17:15:56.167",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/5e8a3d01544282e50d887d76f30d1496a0a53562"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/a6050dedb6f1cc23e518e3a132ab74a0aad6df90"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Modified",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-416"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Important",
      "current_release_date": "2026-08-20T15:10:23+00:00",
      "cve": "CVE-2026-23184",
      "id": "CVE-2026-23184",
      "initial_release_date": "2026-02-14T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Linux kernel binder: Use-After-Free vulnerability allows privilege escalation or arbitrary code execution.",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-23184.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-08-06T01:26:53Z",
      "cve": "CVE-2026-23184",
      "id": "CVE-2026-23184",
      "initial_release_date": "2026-02-16T00:25:26Z",
      "product_status:known_not_affected": "332",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-23184",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-23184.json",
      "version": "8"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…