CVE-2026-74603 (GCVE-0-2026-74603)
Vulnerability from cvelistv5 – Published: 2026-08-22 15:31 – Updated: 2026-08-25 05:40
VLAI
EPSS
VEX
Title
ptp: ocp: Fix board ID over-read
Summary
In the Linux kernel, the following vulnerability has been resolved:
ptp: ocp: Fix board ID over-read
The EEPROM board ID is a fixed 13-byte field and is not guaranteed to
contain a NUL terminator. Passing it directly to
devlink_info_version_fixed_put() treats it as a C string and may read
beyond the field.
Format at most OCP_BOARD_ID_LEN bytes into the existing local buffer
before reporting the ID. Use a precision limit because the snprintf()
output size alone does not bound the source string scan.
Severity
7.1 (High)
Assigner
References
6 references
Impacted products
2 products
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Linux | Linux |
Affected:
0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4 , < 72ef3ce80078199bfad32f98d055f44ba7cd0c3d
(git)
Affected: 0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4 , < 3d965811be78473654e6e8cc8e4fb7b6b87aa6c1 (git) Affected: 0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4 , < f92558bbe78d6284fedd053900f82a70f0aa8707 (git) Affected: 0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4 , < 5fd91dd4a143479b0575fb1f202ec1c501e71fd5 (git) Affected: 0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4 , < f8d7e5751267637190eff887c971d5b468106213 (git) Affected: 0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4 , < 6b69f2ef10cdb018c0b127a7cab88e590bbddba4 (git) |
guessed | |
| Linux | Linux |
Affected:
5.18
Unaffected: 0 , < 5.18 (semver) Unaffected: 6.1.183 , ≤ 6.1.* (semver) Unaffected: 6.6.152 , ≤ 6.6.* (semver) Unaffected: 6.12.104 , ≤ 6.12.* (semver) Unaffected: 6.18.45 , ≤ 6.18.* (semver) Unaffected: 7.1.9 , ≤ 7.1.* (semver) Unaffected: 7.2 , ≤ * (original_commit_for_fix) |
guessed |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/ptp/ptp_ocp.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "72ef3ce80078199bfad32f98d055f44ba7cd0c3d",
"status": "affected",
"version": "0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4",
"versionType": "git"
},
{
"lessThan": "3d965811be78473654e6e8cc8e4fb7b6b87aa6c1",
"status": "affected",
"version": "0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4",
"versionType": "git"
},
{
"lessThan": "f92558bbe78d6284fedd053900f82a70f0aa8707",
"status": "affected",
"version": "0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4",
"versionType": "git"
},
{
"lessThan": "5fd91dd4a143479b0575fb1f202ec1c501e71fd5",
"status": "affected",
"version": "0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4",
"versionType": "git"
},
{
"lessThan": "f8d7e5751267637190eff887c971d5b468106213",
"status": "affected",
"version": "0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4",
"versionType": "git"
},
{
"lessThan": "6b69f2ef10cdb018c0b127a7cab88e590bbddba4",
"status": "affected",
"version": "0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/ptp/ptp_ocp.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.18"
},
{
"lessThan": "5.18",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.183",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.152",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.104",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.45",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.9",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.183",
"versionStartIncluding": "5.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.152",
"versionStartIncluding": "5.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.104",
"versionStartIncluding": "5.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.45",
"versionStartIncluding": "5.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.9",
"versionStartIncluding": "5.18",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "5.18",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nptp: ocp: Fix board ID over-read\n\nThe EEPROM board ID is a fixed 13-byte field and is not guaranteed to\ncontain a NUL terminator. Passing it directly to\ndevlink_info_version_fixed_put() treats it as a C string and may read\nbeyond the field.\n\nFormat at most OCP_BOARD_ID_LEN bytes into the existing local buffer\nbefore reporting the ID. Use a precision limit because the snprintf()\noutput size alone does not bound the source string scan."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.1,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The vulnerable code is reached only through the devlink generic-netlink interface (DEVLINK_CMD_INFO_GET) via a local socket; ptp_ocp is a PCI PTP timecard driver with no network, Bluetooth, or physical-device input path to ptp_ocp_devlink_info_get().\nAC:L - On a system with a probed OCP timecard, issuing devlink info deterministically calls ptp_ocp_devlink_info_get() and passes the 13-byte EEPROM board_id that is not guaranteed to be NUL-terminated, so the over-read is reliably triggered without races or attacker-uncontrollable layout.\nPR:L - DEVLINK_CMD_INFO_GET is registered with only GENL_CMD_CAP_DO/GENL_CMD_CAP_DUMP and no GENL_ADMIN_PERM, and devlink_nl_pre_doit() adds no capability check, so any unprivileged local user with generic netlink access can invoke the vulnerable handler.\nUI:N - Exploitation requires only the attacker issuing a devlink info netlink request; no administrator or other user action is needed beyond the attacker having local access to the host.\nS:U - Kernel memory disclosure and any resulting crash are confined to the same host kernel; the bug does not cross VM, IOMMU, or sandbox security boundaries.\nC:H - Passing the non-NUL-terminated board_id to devlink_info_version_fixed_put() makes devlink_info_version_put() and nla_put_string() use strlen(), reading past the 13-byte field through adjacent ptp_ocp/devlink private memory and returning leaked bytes in the netlink reply to the caller.\nI:N - The defect is purely an out-of-bounds kernel read with no write, heap corruption, or control-flow hijack primitive; only kernel memory is scanned and copied into the netlink response.\nA:H - strlen() on the unterminated board_id can walk through subsequent kmalloc-backed struct fields and potentially past the devlink private allocation, touching unmapped pages and oopsing/panicking the kernel; an unprivileged user can repeat the devlink info query to retrigger it."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-25T05:40:27.399Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/72ef3ce80078199bfad32f98d055f44ba7cd0c3d"
},
{
"url": "https://git.kernel.org/stable/c/3d965811be78473654e6e8cc8e4fb7b6b87aa6c1"
},
{
"url": "https://git.kernel.org/stable/c/f92558bbe78d6284fedd053900f82a70f0aa8707"
},
{
"url": "https://git.kernel.org/stable/c/5fd91dd4a143479b0575fb1f202ec1c501e71fd5"
},
{
"url": "https://git.kernel.org/stable/c/f8d7e5751267637190eff887c971d5b468106213"
},
{
"url": "https://git.kernel.org/stable/c/6b69f2ef10cdb018c0b127a7cab88e590bbddba4"
}
],
"title": "ptp: ocp: Fix board ID over-read",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-74603",
"datePublished": "2026-08-22T15:31:51.544Z",
"dateReserved": "2026-08-15T05:44:03.919Z",
"dateUpdated": "2026-08-25T05:40:27.399Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-74603",
"date": "2026-11-01",
"epss": "0.00126",
"percentile": "0.02249"
},
"microsoft_vex": {
"current_release_date": "2026-08-24T14:45:01.000Z",
"cve": "CVE-2026-74603",
"id": "msrc_CVE-2026-74603",
"initial_release_date": "2026-08-24T01:11:31.000Z",
"product_status:known_affected": "1",
"source": "Microsoft CSAF VEX",
"status": "final",
"title": "ptp: ocp: Fix board ID over-read",
"url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-74603.json",
"version": "2"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/ptp/ptp_ocp.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "72ef3ce80078199bfad32f98d055f44ba7cd0c3d",
"status": "affected",
"version": "0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4",
"versionType": "git"
},
{
"lessThan": "3d965811be78473654e6e8cc8e4fb7b6b87aa6c1",
"status": "affected",
"version": "0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4",
"versionType": "git"
},
{
"lessThan": "f92558bbe78d6284fedd053900f82a70f0aa8707",
"status": "affected",
"version": "0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4",
"versionType": "git"
},
{
"lessThan": "5fd91dd4a143479b0575fb1f202ec1c501e71fd5",
"status": "affected",
"version": "0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4",
"versionType": "git"
},
{
"lessThan": "f8d7e5751267637190eff887c971d5b468106213",
"status": "affected",
"version": "0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4",
"versionType": "git"
},
{
"lessThan": "6b69f2ef10cdb018c0b127a7cab88e590bbddba4",
"status": "affected",
"version": "0cfcdd1ebcfe1a9b262f6ad8419580720dc843c4",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/ptp/ptp_ocp.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.18"
},
{
"lessThan": "5.18",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.183",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.152",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.104",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.45",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.9",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nptp: ocp: Fix board ID over-read\n\nThe EEPROM board ID is a fixed 13-byte field and is not guaranteed to\ncontain a NUL terminator. Passing it directly to\ndevlink_info_version_fixed_put() treats it as a C string and may read\nbeyond the field.\n\nFormat at most OCP_BOARD_ID_LEN bytes into the existing local buffer\nbefore reporting the ID. Use a precision limit because the snprintf()\noutput size alone does not bound the source string scan."
},
{
"lang": "es",
"value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nptp: ocp: Correcci\u00f3n de lectura excesiva del ID de la placa\n\nEl ID de la placa EEPROM es un campo fijo de 13 bytes y no se garantiza que contenga un terminador NUL. Pasarlo directamente a devlink_info_version_fixed_put() lo trata como una cadena C y puede leer m\u00e1s all\u00e1 del campo.\n\nFormatear como m\u00e1ximo OCP_BOARD_ID_LEN bytes en el b\u00fafer local existente antes de informar el ID. Usar un l\u00edmite de precisi\u00f3n porque el tama\u00f1o de salida de snprintf() por s\u00ed solo no limita el escaneo de la cadena de origen."
}
],
"id": "CVE-2026-74603",
"lastModified": "2026-10-14T13:10:00.187",
"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": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"type": "Secondary"
}
]
},
"published": "2026-08-22T16:16:32.750",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/3d965811be78473654e6e8cc8e4fb7b6b87aa6c1"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/5fd91dd4a143479b0575fb1f202ec1c501e71fd5"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/6b69f2ef10cdb018c0b127a7cab88e590bbddba4"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/72ef3ce80078199bfad32f98d055f44ba7cd0c3d"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/f8d7e5751267637190eff887c971d5b468106213"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/f92558bbe78d6284fedd053900f82a70f0aa8707"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Received"
}
},
"redhat_vex": {
"aggregate_severity": "Moderate",
"current_release_date": "2026-10-30T00:15:50+00:00",
"cve": "CVE-2026-74603",
"id": "CVE-2026-74603",
"initial_release_date": "2026-08-22T00:00:00+00:00",
"product_status:known_not_affected": "276",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "kernel: ptp: ocp: Fix board ID over-read",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-74603.json",
"version": "3"
}
}
}
Loading…
Loading…
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
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.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
Loading…
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
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.