CVE-2022-50233 (GCVE-0-2022-50233)

Vulnerability from cvelistv5 – Published: 2025-08-09 14:30 – Updated: 2026-08-05 08:57
VLAI
Title
Bluetooth: eir: Fix using strlen with hdev->{dev_name,short_name}
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: eir: Fix using strlen with hdev->{dev_name,short_name} Both dev_name and short_name are not guaranteed to be NULL terminated so this instead use strnlen and then attempt to determine if the resulting string needs to be truncated or not.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 4c3dbb2c312c9fafbac30d98c523b8b1f3455d78 , < dd7b8cdde098cf9f7c8de409b5b7bbb98f97be80 (git)
Create a notification for this product.
Linux Linux Affected: 4.14
Unaffected: 0 , < 4.14 (semver)
Unaffected: 6.0 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/bluetooth/eir.c",
            "net/bluetooth/mgmt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "dd7b8cdde098cf9f7c8de409b5b7bbb98f97be80",
              "status": "affected",
              "version": "4c3dbb2c312c9fafbac30d98c523b8b1f3455d78",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/bluetooth/eir.c",
            "net/bluetooth/mgmt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.14"
            },
            {
              "lessThan": "4.14",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0",
                  "versionStartIncluding": "4.14",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: eir: Fix using strlen with hdev-\u003e{dev_name,short_name}\n\nBoth dev_name and short_name are not guaranteed to be NULL terminated so\nthis instead use strnlen and then attempt to determine if the resulting\nstring needs to be truncated or not."
        }
      ],
      "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 - The vulnerable strlen/eir_append paths are reached through the local HCI management socket (HCI_CHANNEL_CONTROL) via SET_LOCAL_NAME or READ_EXT_INFO, not by processing Bluetooth packets from a peer on the radio link.\nAC:L - After bluetoothd sets a typical adapter name of length \u003e= 10, hdev-\u003eshort_name is filled with 10 non-NUL bytes by memcpy, so strlen reliably reads out of bounds; an attacker can also set this state and trigger it deterministically with no race or attacker-uncontrollable condition.\nPR:L - READ_EXT_INFO is HCI_MGMT_UNTRUSTED so any local user can invoke append_eir_data_to_buf once the common non-NUL-terminated short_name state exists; on Android/desktop, apps or polkit-mediated users can also drive SET_LOCAL_NAME without init-namespace root.\nUI:N - The attacker opens their own HCI control socket and sends the mgmt command themselves; no separate victim action such as mounting a device or accepting a pairing request is required.\nS:U - Impact is host-kernel memory safety failure (OOB read/write and crash) within the same OS authority; this is not a VM escape, IOMMU/DMA bypass, or other cross-boundary compromise.\nC:H - strlen walks past short_name/dev_name into adjacent hci_dev fields, and eir_append_data copies that inflated u8 length into the READ_EXT_INFO response returned to userspace, disclosing more than a few bytes of kernel memory; stack/heap corruption from the same inflated length further enables read primitives.\nI:H - Inflated strlen results are passed into eir_append_data and written into undersized destinations (legacy scan_rsp HCI_MAX_AD_LENGTH=31, or the 512-byte mgmt ext-info stack buffer), producing out-of-bounds writes that can corrupt stack/heap and enable control-flow hijacking.\nA:H - The bugzilla reproducer hits fortify_panic/BUG in append_eir_data_to_buf on SET_LOCAL_NAME, and without FORTIFY the OOB read/write paths cause kernel oops/panic, fully denying availability."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:57:49.382Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/dd7b8cdde098cf9f7c8de409b5b7bbb98f97be80"
        }
      ],
      "title": "Bluetooth: eir: Fix using strlen with hdev-\u003e{dev_name,short_name}",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-50233",
    "datePublished": "2025-08-09T14:30:51.639Z",
    "dateReserved": "2025-06-18T10:57:27.432Z",
    "dateUpdated": "2026-08-05T08:57:49.382Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-50233",
      "date": "2026-08-04",
      "epss": "0.00137",
      "percentile": "0.03529"
    },
    "microsoft_vex": {
      "current_release_date": "2026-03-31T14:54:43.000Z",
      "cve": "CVE-2022-50233",
      "id": "msrc_CVE-2022-50233",
      "initial_release_date": "2025-08-02T00:00:00.000Z",
      "product_status:known_affected": "3",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "Bluetooth: eir: Fix using strlen with hdev-\u003e{dev_name,short_name}",
      "url": "https://msrc.microsoft.com/csaf/vex/2025/msrc_cve-2022-50233.json",
      "version": "3"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-50233\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-08-09T15:15:27.723\",\"lastModified\":\"2026-08-04T10:18:08.110\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nBluetooth: eir: Fix using strlen with hdev-\u003e{dev_name,short_name}\\n\\nBoth dev_name and short_name are not guaranteed to be NULL terminated so\\nthis instead use strnlen and then attempt to determine if the resulting\\nstring needs to be truncated or not.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: Bluetooth: eir: Correcci\u00f3n del uso de strlen con hdev-\u0026gt;{dev_name,short_name} No se garantiza que dev_name y short_name terminen en NULL, por lo que en su lugar se utiliza strnlen y luego se intenta determinar si la cadena resultante debe truncarse o no.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/bluetooth/eir.c\",\"net/bluetooth/mgmt.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4c3dbb2c312c9fafbac30d98c523b8b1f3455d78\",\"lessThan\":\"dd7b8cdde098cf9f7c8de409b5b7bbb98f97be80\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/bluetooth/eir.c\",\"net/bluetooth/mgmt.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.14\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.14\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.0\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"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},{\"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\":\"4.14\",\"versionEndExcluding\":\"6.0\",\"matchCriteriaId\":\"338236CA-28D7-4DF2-86CB-58B5159BA8A3\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/dd7b8cdde098cf9f7c8de409b5b7bbb98f97be80\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T19:40:13+00:00",
      "cve": "CVE-2022-50233",
      "id": "CVE-2022-50233",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Bluetooth: eir: Fix using strlen with hdev-\u003e{dev_name,short_name}",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-50233.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-08-05T01:10:59Z",
      "cve": "CVE-2022-50233",
      "id": "CVE-2022-50233",
      "initial_release_date": "2025-08-09T23:34:02Z",
      "product_status:known_affected": "361",
      "product_status:known_not_affected": "200",
      "product_status:recommended": "329",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2022-50233",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2022-50233.json",
      "version": "45"
    }
  }
}



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…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…