CVE-2024-53063 (GCVE-0-2024-53063)
Vulnerability from cvelistv5
Published
2024-11-19 17:22
Modified
2026-08-05 11:43
Summary
In the Linux kernel, the following vulnerability has been resolved: media: dvbdev: prevent the risk of out of memory access The dvbdev contains a static variable used to store dvb minors. The behavior of it depends if CONFIG_DVB_DYNAMIC_MINORS is set or not. When not set, dvb_register_device() won't check for boundaries, as it will rely that a previous call to dvb_register_adapter() would already be enforcing it. On a similar way, dvb_device_open() uses the assumption that the register functions already did the needed checks. This can be fragile if some device ends using different calls. This also generate warnings on static check analysers like Coverity. So, add explicit guards to prevent potential risk of OOM issues.
Impacted products
Vendor Product Version
Linux Linux Version: 5dd3f3071070f5a306bdf8d474c80062f5691cba
Version: 5dd3f3071070f5a306bdf8d474c80062f5691cba
Version: 5dd3f3071070f5a306bdf8d474c80062f5691cba
Version: 5dd3f3071070f5a306bdf8d474c80062f5691cba
Version: 5dd3f3071070f5a306bdf8d474c80062f5691cba
Version: 5dd3f3071070f5a306bdf8d474c80062f5691cba
Version: 5dd3f3071070f5a306bdf8d474c80062f5691cba
Version: 5dd3f3071070f5a306bdf8d474c80062f5691cba
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "attackComplexity": "LOW",
              "attackVector": "LOCAL",
              "availabilityImpact": "HIGH",
              "baseScore": 5.5,
              "baseSeverity": "MEDIUM",
              "confidentialityImpact": "NONE",
              "integrityImpact": "NONE",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
              "version": "3.1"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2024-53063",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-10-01T20:12:43.056905Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "cweId": "CWE-755",
                "description": "CWE-755 Improper Handling of Exceptional Conditions",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-10-01T20:17:17.286Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T22:28:57.818Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html"
          },
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/media/dvb-core/dvbdev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "fedfde9deb83ac8d2f3d5f36f111023df34b1684",
              "status": "affected",
              "version": "5dd3f3071070f5a306bdf8d474c80062f5691cba",
              "versionType": "git"
            },
            {
              "lessThan": "3b88675e18b6517043a6f734eaa8ea6eb3bfa140",
              "status": "affected",
              "version": "5dd3f3071070f5a306bdf8d474c80062f5691cba",
              "versionType": "git"
            },
            {
              "lessThan": "a4a17210c03ade1c8d9a9f193a105654b7a05c11",
              "status": "affected",
              "version": "5dd3f3071070f5a306bdf8d474c80062f5691cba",
              "versionType": "git"
            },
            {
              "lessThan": "5f76f7df14861e3a560898fa41979ec92424b58f",
              "status": "affected",
              "version": "5dd3f3071070f5a306bdf8d474c80062f5691cba",
              "versionType": "git"
            },
            {
              "lessThan": "b751a96025275c17f04083cbfe856822f1658946",
              "status": "affected",
              "version": "5dd3f3071070f5a306bdf8d474c80062f5691cba",
              "versionType": "git"
            },
            {
              "lessThan": "1e461672616b726f29261ee81bb991528818537c",
              "status": "affected",
              "version": "5dd3f3071070f5a306bdf8d474c80062f5691cba",
              "versionType": "git"
            },
            {
              "lessThan": "9c17085fabbde2041c893d29599800f2d4992b23",
              "status": "affected",
              "version": "5dd3f3071070f5a306bdf8d474c80062f5691cba",
              "versionType": "git"
            },
            {
              "lessThan": "972e63e895abbe8aa1ccbdbb4e6362abda7cd457",
              "status": "affected",
              "version": "5dd3f3071070f5a306bdf8d474c80062f5691cba",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/media/dvb-core/dvbdev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.29"
            },
            {
              "lessThan": "2.6.29",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.324",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.286",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.230",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.172",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.117",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.61",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.11.*",
              "status": "unaffected",
              "version": "6.11.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.12",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.324",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.286",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.230",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.172",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.117",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.61",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.11.8",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: dvbdev: prevent the risk of out of memory access\n\nThe dvbdev contains a static variable used to store dvb minors.\n\nThe behavior of it depends if CONFIG_DVB_DYNAMIC_MINORS is set\nor not. When not set, dvb_register_device() won\u0027t check for\nboundaries, as it will rely that a previous call to\ndvb_register_adapter() would already be enforcing it.\n\nOn a similar way, dvb_device_open() uses the assumption\nthat the register functions already did the needed checks.\n\nThis can be fragile if some device ends using different\ncalls. This also generate warnings on static check analysers\nlike Coverity.\n\nSo, add explicit guards to prevent potential risk of OOM issues."
        }
      ],
      "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 code is the `.open` handler of a character device; the array index is the minor number of a locally opened `/dev/dvb/...` inode. No network or adjacent-network input is involved, and no physical device access is needed beyond the node already existing.\nAC:L - The index is taken directly from the inode being opened \u2014 there is no race to win, no timing window, and no dependence on heap grooming or memory layout, so the out-of-bounds access is deterministic once the path is entered. Exploitation does not depend on any probabilistic condition.\nPR:L - `dvb_device_open()` performs no capability or permission check of its own; reaching it needs only the ability to open a DVB character device, which on set-top boxes, Android TV, media appliances, and desktop tuner systems is granted to ordinary users via the `video` group. No root or CAP_SYS_ADMIN is required by the code path itself.\nUI:N - The attacker triggers the path entirely on their own by issuing `open()` on the device node. No victim action, mount, or interaction with another user is required.\nS:U - The out-of-bounds access, the wild pointer dereference, and any resulting code execution all occur within the kernel\u0027s own security authority. No hypervisor, IOMMU, or sandbox boundary is crossed.\nC:H - `dvb_minors[iminor(inode)]` is an unbounded read past the end of a static array, and the value read is used as a `struct dvb_device *` whose fields are dereferenced \u2014 the read is not limited to a few known bytes. Per kernel guidance an out-of-bounds read of this kind, usable to influence and observe kernel state, is High.\nI:H - The out-of-bounds-read pointer\u0027s `-\u003efops` is fetched with `fops_get()`, installed into the file via `replace_fops()`, and then `file-\u003ef_op-\u003eopen(inode, file)` is called \u2014 an indirect branch through a function-pointer table taken from memory outside the array bounds, which is a control-flow hijack primitive rather than a mere read fault.\nA:H - Dereferencing a garbage pointer read past the array, and calling through its `fops` table, faults on an unmapped or non-executable kernel address, producing an oops or panic. The condition is repeatable on every `open()` attempt."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:43:25.149Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/fedfde9deb83ac8d2f3d5f36f111023df34b1684"
        },
        {
          "url": "https://git.kernel.org/stable/c/3b88675e18b6517043a6f734eaa8ea6eb3bfa140"
        },
        {
          "url": "https://git.kernel.org/stable/c/a4a17210c03ade1c8d9a9f193a105654b7a05c11"
        },
        {
          "url": "https://git.kernel.org/stable/c/5f76f7df14861e3a560898fa41979ec92424b58f"
        },
        {
          "url": "https://git.kernel.org/stable/c/b751a96025275c17f04083cbfe856822f1658946"
        },
        {
          "url": "https://git.kernel.org/stable/c/1e461672616b726f29261ee81bb991528818537c"
        },
        {
          "url": "https://git.kernel.org/stable/c/9c17085fabbde2041c893d29599800f2d4992b23"
        },
        {
          "url": "https://git.kernel.org/stable/c/972e63e895abbe8aa1ccbdbb4e6362abda7cd457"
        }
      ],
      "title": "media: dvbdev: prevent the risk of out of memory access",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-53063",
    "datePublished": "2024-11-19T17:22:33.518Z",
    "dateReserved": "2024-11-19T17:17:24.975Z",
    "dateUpdated": "2026-08-05T11:43:25.149Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…