Skip to content
Heist/ feed
Back to feed
High

Buffer Overflow in `ProcessRadioRxDone` in LoRaMac-node

Type: advisorySources: OSV

LoRaMac-node is a reference implementation and documentation of a LoRa network node. Versions of LoRaMac-node prior to 4.7.0 are vulnerable to a buffer overflow. Improper size validation of the incoming radio frames can lead to an 65280-byte out-of-bounds write. The function `ProcessRadioRxDone` implicitly expects incoming radio frames to have at least a payload of one byte or more. An empty payload leads to a 1-byte out-of-bounds read of user controlled content when the payload buffer is reused. This allows an attacker to craft a FRAME_TYPE_PROPRIETARY frame with size -1 which results in an 65280-byte out-of-bounds memcopy likely with partially controlled attacker data. Corrupting a large part if the data section is likely to cause a DoS. If the large out-of-bounds write does not immediately crash the attacker may gain control over the execution due to now controlling large parts of the data section. Users are advised to upgrade either by updating their package or by manually applying the patch commit `e851b079`.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2022-39274
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 20:40 UTC · Revision 1

Source evidence

Buffer Overflow in `ProcessRadioRxDone` in LoRaMac-node

core-osv · Original source

Published 6 Oct 2022, 00:00 UTC

LoRaMac-node is a reference implementation and documentation of a LoRa network node. Versions of LoRaMac-node prior to 4.7.0 are vulnerable to a buffer overflow. Improper size validation of the incoming radio frames can lead to an 65280-byte out-of-bounds write. The function `ProcessRadioRxDone` implicitly expects incoming radio frames to have at least a payload of one byte or more. An empty payload leads to a 1-byte out-of-bounds read of user controlled content when the payload buffer is reused. This allows an attacker to craft a FRAME_TYPE_PROPRIETARY frame with size -1 which results in an 65280-byte out-of-bounds memcopy likely with partially controlled attacker data. Corrupting a large part if the data section is likely to cause a DoS. If the large out-of-bounds write does not immediately crash the attacker may gain control over the execution due to now controlling large parts of the data section. Users are advised to upgrade either by updating their package or by manually applying the patch commit `e851b079`.

osv:CVE-2022-39274
Complete source record
{
  "id": "9565861e252f2197923ae17e5eef9299520552fd85051d1240c56d039f235768",
  "url": "https://osv.dev/vulnerability/CVE-2022-39274",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Buffer Overflow in `ProcessRadioRxDone` in LoRaMac-node",
    "summary": "LoRaMac-node is a reference implementation and documentation of a LoRa network node. Versions of LoRaMac-node prior to 4.7.0 are vulnerable to a buffer overflow. Improper size validation of the incoming radio frames can lead to an 65280-byte out-of-bounds write. The function `ProcessRadioRxDone` implicitly expects incoming radio frames to have at least a payload of one byte or more. An empty payload leads to a 1-byte out-of-bounds read of user controlled content when the payload buffer is reused. This allows an attacker to craft a FRAME_TYPE_PROPRIETARY frame with size -1 which results in an 65280-byte out-of-bounds memcopy likely with partially controlled attacker data. Corrupting a large part if the data section is likely to cause a DoS. If the large out-of-bounds write does not immediately crash the attacker may gain control over the execution due to now controlling large parts of the data section. Users are advised to upgrade either by updating their package or by manually applying the patch commit `e851b079`.",
    "evidence": "osv:CVE-2022-39274",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2022-39274",
      "aliases": [
        "CVE-2022-39274",
        "GHSA-7vv8-73pc-63c2"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/lora-net/loramac-node",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "672b37deec7589b2e7346d3acb6a0e8ba79fa9fe"
                },
                {
                  "fixed": "e851b079c82ba1bcf3f4d291ab69a571b0bf458a"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:semtech:loramac-node:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "4.7.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "e851b079c82ba1bcf3f4d291ab69a571b0bf458a"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "672b37deec7589b2e7346d3acb6a0e8ba79fa9fe"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v4.7.0"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v4.6.0",
            "v4.4.2-rc.1",
            "v4.0.0",
            "v4.3.0",
            "v4.2.0",
            "v4.1.0",
            "v3.4.1",
            "V3.4",
            "v3.3",
            "v3.2",
            "v3.1",
            "v3.0",
            "v2.3.RC2",
            "v2.3.RC1",
            "v2.2",
            "v2.1",
            "v2.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-39274.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:23.532839076Z",
      "provider": "osv",
      "references": [
        "https://github.com/Lora-net/LoRaMac-node/releases/tag/v4.7.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/39xxx/CVE-2022-39274.json",
        "https://github.com/Lora-net/LoRaMac-node/security/advisories/GHSA-7vv8-73pc-63c2",
        "https://nvd.nist.gov/vuln/detail/CVE-2022-39274",
        "https://github.com/Lora-net/LoRaMac-node/commit/e851b079c82ba1bcf3f4d291ab69a571b0bf458a"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-120"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/39xxx/CVE-2022-39274.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2022-39274",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 489966,
  "published_at": "2022-10-06T00:00:00+00:00"
}