GHSA-JMH7-F679-GHX4

Vulnerability from github – Published: 2026-07-19 18:31 – Updated: 2026-07-20 15:31
VLAI
Details

In the Linux kernel, the following vulnerability has been resolved:

nfc: hci: fix out-of-bounds read in HCP header parsing

Both nfc_hci_recv_from_llc() and nci_hci_data_received_cb() read packet->header from skb->data at function entry without first checking that the buffer holds at least one byte. A malicious NFC peer can send a 0-byte HCP frame that passes through the SHDLC layer and reaches these functions, causing an out-of-bounds heap read of packet->header. The same 0-byte frame, if queued as a non-final fragment, also causes the reassembly loop to underflow msg_len to UINT_MAX, triggering skb_over_panic() when the reassembled skb is written.

Fix this by adding a pskb_may_pull() check at the entry of each function before packet->header is first accessed. The existing pskb_may_pull() checks before the reassembled hcp_skb is cast to struct hcp_packet remain in place to guard the 2-byte HCP message header.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2026-63915"
  ],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2026-07-19T16:17:09Z",
    "severity": "HIGH"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nnfc: hci: fix out-of-bounds read in HCP header parsing\n\nBoth nfc_hci_recv_from_llc() and nci_hci_data_received_cb() read\npacket-\u003eheader from skb-\u003edata at function entry without first checking\nthat the buffer holds at least one byte. A malicious NFC peer can send\na 0-byte HCP frame that passes through the SHDLC layer and reaches\nthese functions, causing an out-of-bounds heap read of packet-\u003eheader.\nThe same 0-byte frame, if queued as a non-final fragment, also causes\nthe reassembly loop to underflow msg_len to UINT_MAX, triggering\nskb_over_panic() when the reassembled skb is written.\n\nFix this by adding a pskb_may_pull() check at the entry of each\nfunction before packet-\u003eheader is first accessed. The existing\npskb_may_pull() checks before the reassembled hcp_skb is cast to\nstruct hcp_packet remain in place to guard the 2-byte HCP message\nheader.",
  "id": "GHSA-jmh7-f679-ghx4",
  "modified": "2026-07-20T15:31:51Z",
  "published": "2026-07-19T18:31:45Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-63915"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/1905f5ec3641b2b234bb63549c8ca11ab85466eb"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/22d41b176b9989efd21c3b2d3abf6728f05b9d9a"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/37382293f174b82a0616c8295e32b1fc8e13d1ed"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/83b1362edc9d6ae376c6f36da116e2c70f2e70a6"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/b99366d74b535d0cadb1ef73e04639415d9ff3b7"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/c4cc6b3b0013acb3ed0b2b60e57dfae98647fe98"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/ed6d5d97dad0334a7f43d218753429cbe2f70a4f"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/f040e590c035bfd9553fe79ee9585caf1b14d67b"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ]
}



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…