{"api_version":"1","generated_at":"2026-10-23T13:42:22+00:00","cve":"CVE-2026-98908","urls":{"html":"https://cve.report/CVE-2026-98908","api":"https://cve.report/api/cve/CVE-2026-98908.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-98908","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-98908"},"summary":{"title":"net: microchip: sparx5: clean up PSFP resources on flower setup failure","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: microchip: sparx5: clean up PSFP resources on flower setup failure\n\nsparx5_tc_flower_psfp_setup() allocates PSFP stream gate, flow meter and\nstream filter resources before adding VCAP actions. If a later step\nfails, the resources allocated earlier in the function are not unwound.\n\nAdd error paths to release the stream filter, flow meter and stream gate\nwhen setup fails after they have been acquired.\n\nAlso make sparx5_psfp_fm_add() return the acquired flow-meter id before\nthe existing-flow-meter early return. When an existing flow meter is\nreused, sparx5_psfp_fm_get() increments its pool reference count, but the\ncaller previously kept psfp_fmid as 0. If a later setup step failed, the\nerror path could try to delete flow-meter id 0 instead of the reused flow\nmeter, leaving the incremented reference behind.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-10-23 12:18:24","updated_at":"2026-10-23 12:18:24"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/a46ea3f7ee0d3ad3d5e92043232b293be2a305d3","name":"https://git.kernel.org/stable/c/a46ea3f7ee0d3ad3d5e92043232b293be2a305d3","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/640c1bd8d359ad34817f5afec0872985e87b49ec","name":"https://git.kernel.org/stable/c/640c1bd8d359ad34817f5afec0872985e87b49ec","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/a7625d408f7f0535c2b0f05d53231d6496acd48b","name":"https://git.kernel.org/stable/c/a7625d408f7f0535c2b0f05d53231d6496acd48b","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/46e50367338702abe3df661df7795bdada40fef7","name":"https://git.kernel.org/stable/c/46e50367338702abe3df661df7795bdada40fef7","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-98908","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98908","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 a7625d408f7f0535c2b0f05d53231d6496acd48b git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 a46ea3f7ee0d3ad3d5e92043232b293be2a305d3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 640c1bd8d359ad34817f5afec0872985e87b49ec git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 46e50367338702abe3df661df7795bdada40fef7 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.6.158 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.12.111 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.18.53 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.158 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.111 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.53 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/net/ethernet/microchip/sparx5/sparx5_psfp.c","drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"a7625d408f7f0535c2b0f05d53231d6496acd48b","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"a46ea3f7ee0d3ad3d5e92043232b293be2a305d3","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"640c1bd8d359ad34817f5afec0872985e87b49ec","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"46e50367338702abe3df661df7795bdada40fef7","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"6.6.158","status":"affected","version":"0","versionType":"semver"},{"lessThan":"6.12.111","status":"affected","version":"0","versionType":"semver"},{"lessThan":"6.18.53","status":"affected","version":"0","versionType":"semver"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/net/ethernet/microchip/sparx5/sparx5_psfp.c","drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.158","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.111","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.53","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.6.158","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.111","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.53","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: microchip: sparx5: clean up PSFP resources on flower setup failure\n\nsparx5_tc_flower_psfp_setup() allocates PSFP stream gate, flow meter and\nstream filter resources before adding VCAP actions. If a later step\nfails, the resources allocated earlier in the function are not unwound.\n\nAdd error paths to release the stream filter, flow meter and stream gate\nwhen setup fails after they have been acquired.\n\nAlso make sparx5_psfp_fm_add() return the acquired flow-meter id before\nthe existing-flow-meter early return. When an existing flow meter is\nreused, sparx5_psfp_fm_get() increments its pool reference count, but the\ncaller previously kept psfp_fmid as 0. If a later setup step failed, the\nerror path could try to delete flow-meter id 0 instead of the reused flow\nmeter, leaving the incremented reference behind."}],"providerMetadata":{"dateUpdated":"2026-10-23T11:54:46.243Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/a7625d408f7f0535c2b0f05d53231d6496acd48b"},{"url":"https://git.kernel.org/stable/c/a46ea3f7ee0d3ad3d5e92043232b293be2a305d3"},{"url":"https://git.kernel.org/stable/c/640c1bd8d359ad34817f5afec0872985e87b49ec"},{"url":"https://git.kernel.org/stable/c/46e50367338702abe3df661df7795bdada40fef7"}],"title":"net: microchip: sparx5: clean up PSFP resources on flower setup failure","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-98908","datePublished":"2026-10-23T11:54:46.243Z","dateReserved":"2026-09-25T10:25:14.379Z","dateUpdated":"2026-10-23T11:54:46.243Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-23 12:18:24","lastModifiedDate":"2026-10-23 12:18:24","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"98908","Ordinal":"1","Title":"net: microchip: sparx5: clean up PSFP resources on flower setup ","CVE":"CVE-2026-98908","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"98908","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: microchip: sparx5: clean up PSFP resources on flower setup failure\n\nsparx5_tc_flower_psfp_setup() allocates PSFP stream gate, flow meter and\nstream filter resources before adding VCAP actions. If a later step\nfails, the resources allocated earlier in the function are not unwound.\n\nAdd error paths to release the stream filter, flow meter and stream gate\nwhen setup fails after they have been acquired.\n\nAlso make sparx5_psfp_fm_add() return the acquired flow-meter id before\nthe existing-flow-meter early return. When an existing flow meter is\nreused, sparx5_psfp_fm_get() increments its pool reference count, but the\ncaller previously kept psfp_fmid as 0. If a later setup step failed, the\nerror path could try to delete flow-meter id 0 instead of the reused flow\nmeter, leaving the incremented reference behind.","Type":"Description","Title":"net: microchip: sparx5: clean up PSFP resources on flower setup "}]}}}