{"api_version":"1","generated_at":"2026-07-23T13:20:54+00:00","cve":"CVE-2025-71197","urls":{"html":"https://cve.report/CVE-2025-71197","api":"https://cve.report/api/cve/CVE-2025-71197.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2025-71197","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2025-71197"},"summary":{"title":"w1: therm: Fix off-by-one buffer overflow in alarms_store","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nw1: therm: Fix off-by-one buffer overflow in alarms_store\n\nThe sysfs buffer passed to alarms_store() is allocated with 'size + 1'\nbytes and a NUL terminator is appended. However, the 'size' argument\ndoes not account for this extra byte. The original code then allocated\n'size' bytes and used strcpy() to copy 'buf', which always writes one\nbyte past the allocated buffer since strcpy() copies until the NUL\nterminator at index 'size'.\n\nFix this by parsing the 'buf' parameter directly using simple_strtoll()\nwithout allocating any intermediate memory or string copying. This\nremoves the overflow while simplifying the code.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-02-04 17:16:11","updated_at":"2026-07-14 13:18:05"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/060b08d72a38b158a7f850d4b83c17c2969e0f6b","name":"https://git.kernel.org/stable/c/060b08d72a38b158a7f850d4b83c17c2969e0f6b","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/6fd6d2a8e41b7f544a4d26cbd60bedf9c67893a0","name":"https://git.kernel.org/stable/c/6fd6d2a8e41b7f544a4d26cbd60bedf9c67893a0","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/761fcf46a1bd797bd32d23f3ea0141ffd437668a","name":"https://git.kernel.org/stable/c/761fcf46a1bd797bd32d23f3ea0141ffd437668a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/e6b2609af21b5cccc9559339591b8a2cbf884169","name":"https://git.kernel.org/stable/c/e6b2609af21b5cccc9559339591b8a2cbf884169","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/b3fc3e1f04dcc7c41787bbf08a6e0d2728e022cf","name":"https://git.kernel.org/stable/c/b3fc3e1f04dcc7c41787bbf08a6e0d2728e022cf","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-019113.html","name":"https://cert-portal.siemens.com/productcert/html/ssa-019113.html","refsource":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/6a5820ecfa5a76c3d3e154802c8c15f391ef442e","name":"https://git.kernel.org/stable/c/6a5820ecfa5a76c3d3e154802c8c15f391ef442e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/49ff9b4b9deacbefa6654a0a2bcaf910c9de7e95","name":"https://git.kernel.org/stable/c/49ff9b4b9deacbefa6654a0a2bcaf910c9de7e95","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2025-71197","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-71197","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected e2c94d6f572079511945e64537eb1218643f2e68 49ff9b4b9deacbefa6654a0a2bcaf910c9de7e95 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected e2c94d6f572079511945e64537eb1218643f2e68 060b08d72a38b158a7f850d4b83c17c2969e0f6b git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected e2c94d6f572079511945e64537eb1218643f2e68 b3fc3e1f04dcc7c41787bbf08a6e0d2728e022cf git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected e2c94d6f572079511945e64537eb1218643f2e68 6a5820ecfa5a76c3d3e154802c8c15f391ef442e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected e2c94d6f572079511945e64537eb1218643f2e68 6fd6d2a8e41b7f544a4d26cbd60bedf9c67893a0 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected e2c94d6f572079511945e64537eb1218643f2e68 e6b2609af21b5cccc9559339591b8a2cbf884169 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected e2c94d6f572079511945e64537eb1218643f2e68 761fcf46a1bd797bd32d23f3ea0141ffd437668a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.8","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.8 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.249 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.199 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.162 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.122 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.68 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.8 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.19 * original_commit_for_fix","platforms":[]},{"source":"ADP","vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","version":"affected V3.1.6 * custom","platforms":[]},{"source":"ADP","vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","version":"affected V3.1.6 * custom","platforms":[]},{"source":"ADP","vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","version":"affected V3.1.6 * custom","platforms":[]},{"source":"ADP","vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","version":"affected V3.1.6 * custom","platforms":[]},{"source":"ADP","vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","version":"affected V3.1.6 * custom","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2025","cve_id":"71197","cve":"CVE-2025-71197","epss":"0.001910000","percentile":"0.089440000","score_date":"2026-07-14","updated_at":"2026-07-15 00:14:55"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"affected":[{"defaultStatus":"unknown","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","vendor":"Siemens","versions":[{"lessThan":"*","status":"affected","version":"V3.1.6","versionType":"custom"}]},{"defaultStatus":"unknown","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","vendor":"Siemens","versions":[{"lessThan":"*","status":"affected","version":"V3.1.6","versionType":"custom"}]},{"defaultStatus":"unknown","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","vendor":"Siemens","versions":[{"lessThan":"*","status":"affected","version":"V3.1.6","versionType":"custom"}]},{"defaultStatus":"unknown","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","vendor":"Siemens","versions":[{"lessThan":"*","status":"affected","version":"V3.1.6","versionType":"custom"}]},{"defaultStatus":"unknown","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","vendor":"Siemens","versions":[{"lessThan":"*","status":"affected","version":"V3.1.6","versionType":"custom"}]}],"providerMetadata":{"dateUpdated":"2026-07-14T12:44:58.748Z","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","shortName":"siemens-SADP"},"references":[{"url":"https://cert-portal.siemens.com/productcert/html/ssa-019113.html"}],"x_adpType":"supplier"}],"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/w1/slaves/w1_therm.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"49ff9b4b9deacbefa6654a0a2bcaf910c9de7e95","status":"affected","version":"e2c94d6f572079511945e64537eb1218643f2e68","versionType":"git"},{"lessThan":"060b08d72a38b158a7f850d4b83c17c2969e0f6b","status":"affected","version":"e2c94d6f572079511945e64537eb1218643f2e68","versionType":"git"},{"lessThan":"b3fc3e1f04dcc7c41787bbf08a6e0d2728e022cf","status":"affected","version":"e2c94d6f572079511945e64537eb1218643f2e68","versionType":"git"},{"lessThan":"6a5820ecfa5a76c3d3e154802c8c15f391ef442e","status":"affected","version":"e2c94d6f572079511945e64537eb1218643f2e68","versionType":"git"},{"lessThan":"6fd6d2a8e41b7f544a4d26cbd60bedf9c67893a0","status":"affected","version":"e2c94d6f572079511945e64537eb1218643f2e68","versionType":"git"},{"lessThan":"e6b2609af21b5cccc9559339591b8a2cbf884169","status":"affected","version":"e2c94d6f572079511945e64537eb1218643f2e68","versionType":"git"},{"lessThan":"761fcf46a1bd797bd32d23f3ea0141ffd437668a","status":"affected","version":"e2c94d6f572079511945e64537eb1218643f2e68","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/w1/slaves/w1_therm.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.8"},{"lessThan":"5.8","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.249","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.199","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.162","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.122","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.68","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.8","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"6.19","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.249","versionStartIncluding":"5.8","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.199","versionStartIncluding":"5.8","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.162","versionStartIncluding":"5.8","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.122","versionStartIncluding":"5.8","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.68","versionStartIncluding":"5.8","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.8","versionStartIncluding":"5.8","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.19","versionStartIncluding":"5.8","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nw1: therm: Fix off-by-one buffer overflow in alarms_store\n\nThe sysfs buffer passed to alarms_store() is allocated with 'size + 1'\nbytes and a NUL terminator is appended. However, the 'size' argument\ndoes not account for this extra byte. The original code then allocated\n'size' bytes and used strcpy() to copy 'buf', which always writes one\nbyte past the allocated buffer since strcpy() copies until the NUL\nterminator at index 'size'.\n\nFix this by parsing the 'buf' parameter directly using simple_strtoll()\nwithout allocating any intermediate memory or string copying. This\nremoves the overflow while simplifying the code."}],"providerMetadata":{"dateUpdated":"2026-05-11T21:56:32.299Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/49ff9b4b9deacbefa6654a0a2bcaf910c9de7e95"},{"url":"https://git.kernel.org/stable/c/060b08d72a38b158a7f850d4b83c17c2969e0f6b"},{"url":"https://git.kernel.org/stable/c/b3fc3e1f04dcc7c41787bbf08a6e0d2728e022cf"},{"url":"https://git.kernel.org/stable/c/6a5820ecfa5a76c3d3e154802c8c15f391ef442e"},{"url":"https://git.kernel.org/stable/c/6fd6d2a8e41b7f544a4d26cbd60bedf9c67893a0"},{"url":"https://git.kernel.org/stable/c/e6b2609af21b5cccc9559339591b8a2cbf884169"},{"url":"https://git.kernel.org/stable/c/761fcf46a1bd797bd32d23f3ea0141ffd437668a"}],"title":"w1: therm: Fix off-by-one buffer overflow in alarms_store","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2025-71197","datePublished":"2026-02-04T16:07:32.198Z","dateReserved":"2026-01-31T11:36:51.192Z","dateUpdated":"2026-07-14T12:44:58.748Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-02-04 17:16:11","lastModifiedDate":"2026-07-14 13:18:05","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2025","CveId":"71197","Ordinal":"1","Title":"w1: therm: Fix off-by-one buffer overflow in alarms_store","CVE":"CVE-2025-71197","Year":"2025"},"notes":[{"CveYear":"2025","CveId":"71197","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nw1: therm: Fix off-by-one buffer overflow in alarms_store\n\nThe sysfs buffer passed to alarms_store() is allocated with 'size + 1'\nbytes and a NUL terminator is appended. However, the 'size' argument\ndoes not account for this extra byte. The original code then allocated\n'size' bytes and used strcpy() to copy 'buf', which always writes one\nbyte past the allocated buffer since strcpy() copies until the NUL\nterminator at index 'size'.\n\nFix this by parsing the 'buf' parameter directly using simple_strtoll()\nwithout allocating any intermediate memory or string copying. This\nremoves the overflow while simplifying the code.","Type":"Description","Title":"w1: therm: Fix off-by-one buffer overflow in alarms_store"}]}}}