FKIE_CVE-2022-49844

Vulnerability from fkie_nvd - Published: 2025-05-01 15:16 - Updated: 2026-06-17 05:19
Summary
In the Linux kernel, the following vulnerability has been resolved: can: dev: fix skb drop check In commit a6d190f8c767 ("can: skb: drop tx skb if in listen only mode") the priv->ctrlmode element is read even on virtual CAN interfaces that do not create the struct can_priv at startup. This out-of-bounds read may lead to CAN frame drops for virtual CAN interfaces like vcan and vxcan. This patch mainly reverts the original commit and adds a new helper for CAN interface drivers that provide the required information in struct can_priv. [mkl: patch pch_can, too]
Impacted products

{
  "affected": [
    {
      "affectedData": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/can/at91_can.c",
            "drivers/net/can/c_can/c_can_main.c",
            "drivers/net/can/can327.c",
            "drivers/net/can/cc770/cc770.c",
            "drivers/net/can/ctucanfd/ctucanfd_base.c",
            "drivers/net/can/dev/skb.c",
            "drivers/net/can/flexcan/flexcan-core.c",
            "drivers/net/can/grcan.c",
            "drivers/net/can/ifi_canfd/ifi_canfd.c",
            "drivers/net/can/janz-ican3.c",
            "drivers/net/can/kvaser_pciefd.c",
            "drivers/net/can/m_can/m_can.c",
            "drivers/net/can/mscan/mscan.c",
            "drivers/net/can/pch_can.c",
            "drivers/net/can/peak_canfd/peak_canfd.c",
            "drivers/net/can/rcar/rcar_can.c",
            "drivers/net/can/rcar/rcar_canfd.c",
            "drivers/net/can/sja1000/sja1000.c",
            "drivers/net/can/slcan/slcan-core.c",
            "drivers/net/can/softing/softing_main.c",
            "drivers/net/can/spi/hi311x.c",
            "drivers/net/can/spi/mcp251x.c",
            "drivers/net/can/spi/mcp251xfd/mcp251xfd-tx.c",
            "drivers/net/can/sun4i_can.c",
            "drivers/net/can/ti_hecc.c",
            "drivers/net/can/usb/ems_usb.c",
            "drivers/net/can/usb/esd_usb.c",
            "drivers/net/can/usb/etas_es58x/es58x_core.c",
            "drivers/net/can/usb/gs_usb.c",
            "drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c",
            "drivers/net/can/usb/mcba_usb.c",
            "drivers/net/can/usb/peak_usb/pcan_usb_core.c",
            "drivers/net/can/usb/ucan.c",
            "drivers/net/can/usb/usb_8dev.c",
            "drivers/net/can/xilinx_can.c",
            "include/linux/can/dev.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "386c49fe31ee748e053860b3bac7794a933ac9ac",
              "status": "affected",
              "version": "a6d190f8c7670068d8c154ef8477eca07b5e3574",
              "versionType": "git"
            },
            {
              "lessThan": "ae64438be1923e3c1102d90fd41db7afcfaf54cc",
              "status": "affected",
              "version": "a6d190f8c7670068d8c154ef8477eca07b5e3574",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/can/at91_can.c",
            "drivers/net/can/c_can/c_can_main.c",
            "drivers/net/can/can327.c",
            "drivers/net/can/cc770/cc770.c",
            "drivers/net/can/ctucanfd/ctucanfd_base.c",
            "drivers/net/can/dev/skb.c",
            "drivers/net/can/flexcan/flexcan-core.c",
            "drivers/net/can/grcan.c",
            "drivers/net/can/ifi_canfd/ifi_canfd.c",
            "drivers/net/can/janz-ican3.c",
            "drivers/net/can/kvaser_pciefd.c",
            "drivers/net/can/m_can/m_can.c",
            "drivers/net/can/mscan/mscan.c",
            "drivers/net/can/pch_can.c",
            "drivers/net/can/peak_canfd/peak_canfd.c",
            "drivers/net/can/rcar/rcar_can.c",
            "drivers/net/can/rcar/rcar_canfd.c",
            "drivers/net/can/sja1000/sja1000.c",
            "drivers/net/can/slcan/slcan-core.c",
            "drivers/net/can/softing/softing_main.c",
            "drivers/net/can/spi/hi311x.c",
            "drivers/net/can/spi/mcp251x.c",
            "drivers/net/can/spi/mcp251xfd/mcp251xfd-tx.c",
            "drivers/net/can/sun4i_can.c",
            "drivers/net/can/ti_hecc.c",
            "drivers/net/can/usb/ems_usb.c",
            "drivers/net/can/usb/esd_usb.c",
            "drivers/net/can/usb/etas_es58x/es58x_core.c",
            "drivers/net/can/usb/gs_usb.c",
            "drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c",
            "drivers/net/can/usb/mcba_usb.c",
            "drivers/net/can/usb/peak_usb/pcan_usb_core.c",
            "drivers/net/can/usb/ucan.c",
            "drivers/net/can/usb/usb_8dev.c",
            "drivers/net/can/xilinx_can.c",
            "include/linux/can/dev.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.0"
            },
            {
              "lessThan": "6.0",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.0.*",
              "status": "unaffected",
              "version": "6.0.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
              "matchCriteriaId": "FB0E56F8-B415-4563-B3CC-33864CBCEA4E",
              "versionEndExcluding": "6.0.9",
              "versionStartIncluding": "6.0",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:6.1:rc1:*:*:*:*:*:*",
              "matchCriteriaId": "E7E331DA-1FB0-4DEC-91AC-7DA69D461C11",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:6.1:rc2:*:*:*:*:*:*",
              "matchCriteriaId": "17F0B248-42CF-4AE6-A469-BB1BAE7F4705",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:6.1:rc3:*:*:*:*:*:*",
              "matchCriteriaId": "E2422816-0C14-4B5E-A1E6-A9D776E5C49B",
              "vulnerable": true
            },
            {
              "criteria": "cpe:2.3:o:linux:linux_kernel:6.1:rc4:*:*:*:*:*:*",
              "matchCriteriaId": "1C6E00FE-5FB9-4D20-A1A1-5A32128F9B76",
              "vulnerable": true
            }
          ],
          "negate": false,
          "operator": "OR"
        }
      ]
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncan: dev: fix skb drop check\n\nIn commit a6d190f8c767 (\"can: skb: drop tx skb if in listen only\nmode\") the priv-\u003ectrlmode element is read even on virtual CAN\ninterfaces that do not create the struct can_priv at startup. This\nout-of-bounds read may lead to CAN frame drops for virtual CAN\ninterfaces like vcan and vxcan.\n\nThis patch mainly reverts the original commit and adds a new helper\nfor CAN interface drivers that provide the required information in\nstruct can_priv.\n\n[mkl: patch pch_can, too]"
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: can: dev: fix skb drop check. En el commit a6d190f8c767 (\"can: skb: drop tx skb if in listen only mode\"), el elemento priv-\u0026gt;ctrlmode se lee incluso en interfaces CAN virtuales que no crean la estructura can_priv al inicio. Esta lectura fuera de los l\u00edmites puede provocar la p\u00e9rdida de tramas CAN en interfaces CAN virtuales como vcan y vxcan. Este parche revierte principalmente la confirmaci\u00f3n original y a\u00f1ade un nuevo asistente para los controladores de interfaz CAN que proporciona la informaci\u00f3n necesaria en la estructura can_priv. [mkl: parchear tambi\u00e9n pch_can]"
    }
  ],
  "id": "CVE-2022-49844",
  "lastModified": "2026-06-17T05:19:16.993",
  "metrics": {
    "cvssMetricV31": [
      {
        "cvssData": {
          "attackComplexity": "LOW",
          "attackVector": "LOCAL",
          "availabilityImpact": "HIGH",
          "baseScore": 7.1,
          "baseSeverity": "HIGH",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "NONE",
          "privilegesRequired": "LOW",
          "scope": "UNCHANGED",
          "userInteraction": "NONE",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
          "version": "3.1"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 5.2,
        "source": "nvd@nist.gov",
        "type": "Primary"
      },
      {
        "cvssData": {
          "attackComplexity": "LOW",
          "attackVector": "LOCAL",
          "availabilityImpact": "HIGH",
          "baseScore": 7.1,
          "baseSeverity": "HIGH",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "NONE",
          "privilegesRequired": "LOW",
          "scope": "UNCHANGED",
          "userInteraction": "NONE",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
          "version": "3.1"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 5.2,
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "type": "Secondary"
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2022-49844",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "timestamp": "2025-10-01T17:00:29.049207Z",
          "version": "2.0.3"
        }
      }
    ]
  },
  "published": "2025-05-01T15:16:07.907",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/386c49fe31ee748e053860b3bac7794a933ac9ac"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "tags": [
        "Patch"
      ],
      "url": "https://git.kernel.org/stable/c/ae64438be1923e3c1102d90fd41db7afcfaf54cc"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Modified",
  "weaknesses": [
    {
      "description": [
        {
          "lang": "en",
          "value": "CWE-125"
        }
      ],
      "source": "nvd@nist.gov",
      "type": "Primary"
    },
    {
      "description": [
        {
          "lang": "en",
          "value": "CWE-125"
        }
      ],
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "type": "Secondary"
    }
  ]
}



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…