CVE-2026-46332 (GCVE-0-2026-46332)

Vulnerability from cvelistv5 – Published: 2026-06-09 12:36 – Updated: 2026-08-05 12:31
VLAI
Title
greybus: gb-beagleplay: bound bootloader receive buffering
Summary
In the Linux kernel, the following vulnerability has been resolved: greybus: gb-beagleplay: bound bootloader receive buffering cc1352_bootloader_rx() appends each serdev chunk into the fixed rx_buffer before parsing bootloader packets. The helper can keep leftover bytes between callbacks and may receive multiple packets in one callback, so a single count value is not constrained by one packet length. Check that the incoming chunk fits in the remaining receive buffer space before memcpy(). If it does not, drop the staged data and consume the bytes instead of overflowing rx_buffer.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 0cf7befa3ea2e7284d8ba5b8f45a546865b09edb , < 663c2728a6d0f781044431111b53a27f71027e48 (git)
Affected: 0cf7befa3ea2e7284d8ba5b8f45a546865b09edb , < fb91d4e49fcbea0b5091394ac5b8f7d4124265c3 (git)
Affected: 0cf7befa3ea2e7284d8ba5b8f45a546865b09edb , < 0339a746ff7cd3f9d10f565e89c99dc93191e58d (git)
Affected: 0cf7befa3ea2e7284d8ba5b8f45a546865b09edb , < 1214bf28965ceaf584fb20d357731264dd2e10e1 (git)
Create a notification for this product.
Linux Linux Affected: 6.12
Unaffected: 0 , < 6.12 (semver)
Unaffected: 6.12.86 , ≤ 6.12.* (semver)
Unaffected: 6.18.27 , ≤ 6.18.* (semver)
Unaffected: 7.0.4 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/greybus/gb-beagleplay.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "663c2728a6d0f781044431111b53a27f71027e48",
              "status": "affected",
              "version": "0cf7befa3ea2e7284d8ba5b8f45a546865b09edb",
              "versionType": "git"
            },
            {
              "lessThan": "fb91d4e49fcbea0b5091394ac5b8f7d4124265c3",
              "status": "affected",
              "version": "0cf7befa3ea2e7284d8ba5b8f45a546865b09edb",
              "versionType": "git"
            },
            {
              "lessThan": "0339a746ff7cd3f9d10f565e89c99dc93191e58d",
              "status": "affected",
              "version": "0cf7befa3ea2e7284d8ba5b8f45a546865b09edb",
              "versionType": "git"
            },
            {
              "lessThan": "1214bf28965ceaf584fb20d357731264dd2e10e1",
              "status": "affected",
              "version": "0cf7befa3ea2e7284d8ba5b8f45a546865b09edb",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/greybus/gb-beagleplay.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.12"
            },
            {
              "lessThan": "6.12",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.86",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.27",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.86",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.27",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.4",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ngreybus: gb-beagleplay: bound bootloader receive buffering\n\ncc1352_bootloader_rx() appends each serdev chunk into the fixed\nrx_buffer before parsing bootloader packets. The helper can keep\nleftover bytes between callbacks and may receive multiple packets in one\ncallback, so a single count value is not constrained by one packet\nlength.\n\nCheck that the incoming chunk fits in the remaining receive buffer space\nbefore memcpy(). If it does not, drop the staged data and consume the\nbytes instead of overflowing rx_buffer."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:A - The bug is reached only when the onboard CC1352 co-processor delivers bootloader UART data to `gb_tty_receive()` via serdev during `flashing_mode`; on BeaglePlay/BeagleConnect deployments that co-processor is a sub-GHz/BLE radio bridge, so an attacker in adjacent wireless range who compromises or replaces it can supply the malicious serial responses that trigger the overflow.\nAC:L - Once firmware flashing is active, an attacker controlling CC1352 bootloader replies can reliably exceed the 259-byte `rx_buffer` by combining leftover staged bytes with oversized serdev chunks across callbacks, making the `memcpy()` overflow deterministic rather than race-dependent.\nPR:N - Exploitation does not require Linux credentials on the host; a physical or radio-adjacent attacker only needs the co-processor to send malicious bootloader bytes while `flashing_mode` is active, which can occur during an administrator-initiated update without the attacker holding any local account.\nUI:R - The vulnerable `cc1352_bootloader_rx()` path is gated on `flashing_mode`, which is set only when an operator initiates CC1352 firmware upload through the sysfs firmware-upload interface, so a separate privileged maintenance action must occur first.\nS:U - Corruption is confined to the `gb_beagleplay` driver\u0027s kmalloc\u0027d private structure and enables standard kernel privilege escalation within the same security domain, not a cross-boundary escape such as guest-to-host or IOMMU bypass.\nC:H - The unchecked append is a heap out-of-bounds write past `rx_buffer[MAX_RX_HDLC]` into adjacent driver fields (pointers, completions, control flags), which is memory corruption that can be leveraged for arbitrary kernel memory disclosure.\nI:H - Overflowing `rx_buffer` overwrites kernel pointers and control structures in the same allocation (`fwl`, GPIO descriptors, completion objects), providing a credible path to arbitrary kernel writes and control-flow hijacking beyond a simple crash.\nA:H - Writing past the fixed receive buffer can immediately corrupt critical in-structure kernel data and cause kernel oops/panic, and repeated malicious bootloader chunks can be used to trigger persistent denial of service during flashing."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:31:27.125Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/663c2728a6d0f781044431111b53a27f71027e48"
        },
        {
          "url": "https://git.kernel.org/stable/c/fb91d4e49fcbea0b5091394ac5b8f7d4124265c3"
        },
        {
          "url": "https://git.kernel.org/stable/c/0339a746ff7cd3f9d10f565e89c99dc93191e58d"
        },
        {
          "url": "https://git.kernel.org/stable/c/1214bf28965ceaf584fb20d357731264dd2e10e1"
        }
      ],
      "title": "greybus: gb-beagleplay: bound bootloader receive buffering",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-46332",
    "datePublished": "2026-06-09T12:36:00.450Z",
    "dateReserved": "2026-05-13T15:03:33.113Z",
    "dateUpdated": "2026-08-05T12:31:27.125Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-46332",
      "date": "2026-08-08",
      "epss": "0.00193",
      "percentile": "0.09164"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-46332\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-06-09T14:16:42.817\",\"lastModified\":\"2026-07-23T08:10:00.137\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ngreybus: gb-beagleplay: bound bootloader receive buffering\\n\\ncc1352_bootloader_rx() appends each serdev chunk into the fixed\\nrx_buffer before parsing bootloader packets. The helper can keep\\nleftover bytes between callbacks and may receive multiple packets in one\\ncallback, so a single count value is not constrained by one packet\\nlength.\\n\\nCheck that the incoming chunk fits in the remaining receive buffer space\\nbefore memcpy(). If it does not, drop the staged data and consume the\\nbytes instead of overflowing rx_buffer.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\\n\\ngreybus: gb-beagleplay: almacenamiento en b\u00fafer de recepci\u00f3n del cargador de arranque limitado\\n\\ncc1352_bootloader_rx() a\u00f1ade cada fragmento de serdev en el rx_buffer fijo antes de analizar los paquetes del cargador de arranque. La funci\u00f3n auxiliar puede mantener bytes sobrantes entre retrollamadas y puede recibir m\u00faltiples paquetes en una retrollamada, por lo que un \u00fanico valor de conteo no est\u00e1 limitado por la longitud de un paquete.\\n\\nComprobar que el fragmento entrante cabe en el espacio restante del b\u00fafer de recepci\u00f3n antes de memcpy(). Si no es as\u00ed, descartar los datos preparados y consumir los bytes en lugar de desbordar el rx_buffer.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/greybus/gb-beagleplay.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"0cf7befa3ea2e7284d8ba5b8f45a546865b09edb\",\"lessThan\":\"663c2728a6d0f781044431111b53a27f71027e48\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"0cf7befa3ea2e7284d8ba5b8f45a546865b09edb\",\"lessThan\":\"fb91d4e49fcbea0b5091394ac5b8f7d4124265c3\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"0cf7befa3ea2e7284d8ba5b8f45a546865b09edb\",\"lessThan\":\"0339a746ff7cd3f9d10f565e89c99dc93191e58d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"0cf7befa3ea2e7284d8ba5b8f45a546865b09edb\",\"lessThan\":\"1214bf28965ceaf584fb20d357731264dd2e10e1\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/greybus/gb-beagleplay.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.12\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.12\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.86\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.27\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.0.4\",\"lessThanOrEqual\":\"7.0.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1\",\"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:A/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H\",\"baseScore\":8.0,\"baseSeverity\":\"HIGH\",\"attackVector\":\"ADJACENT_NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"REQUIRED\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.1,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-120\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.12\",\"versionEndExcluding\":\"6.12.86\",\"matchCriteriaId\":\"A868CB0E-7563-461B-9681-F1CE80B353EE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.13\",\"versionEndExcluding\":\"6.18.27\",\"matchCriteriaId\":\"A10AC84F-C058-47D5-85B4-E6E51A613B74\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.19\",\"versionEndExcluding\":\"7.0.4\",\"matchCriteriaId\":\"CDB78D6D-22C3-4154-B0D0-94AF1CE5C2E3\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0339a746ff7cd3f9d10f565e89c99dc93191e58d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/1214bf28965ceaf584fb20d357731264dd2e10e1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/663c2728a6d0f781044431111b53a27f71027e48\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/fb91d4e49fcbea0b5091394ac5b8f7d4124265c3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-06-28T07:42:18+00:00",
      "cve": "CVE-2026-46332",
      "id": "CVE-2026-46332",
      "initial_release_date": "2026-06-09T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: greybus: gb-beagleplay: bound bootloader receive buffering",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-46332.json",
      "version": "3"
    }
  }
}



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…