{"api_version":"1","generated_at":"2026-06-03T19:46:52+00:00","cve":"CVE-2026-43502","urls":{"html":"https://cve.report/CVE-2026-43502","api":"https://cve.report/api/cve/CVE-2026-43502.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-43502","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-43502"},"summary":{"title":"net/rds: handle zerocopy send cleanup before the message is queued","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/rds: handle zerocopy send cleanup before the message is queued\n\nA zerocopy send can fail after user pages have been pinned but before\nthe message is attached to the sending socket.\n\nThe purge path currently infers zerocopy state from rm->m_rs, so an\nunqueued message can be cleaned up as if it owned normal payload pages.\nHowever, zerocopy ownership is really determined by the presence of\nop_mmp_znotifier, regardless of whether the message has reached the\nsocket queue.\n\nCapture op_mmp_znotifier up front in rds_message_purge() and use it as\nthe cleanup discriminator. If the message is already associated with a\nsocket, keep the existing completion path. Otherwise, drop the pinned\npage accounting directly and release the notifier before putting the\npayload pages.\n\nThis keeps early send failure cleanup consistent with the zerocopy\nlifetime rules without changing the normal queued completion path.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-05-21 13:16:19","updated_at":"2026-06-01 17:17:07"},"problem_types":[],"metrics":[{"version":"3.1","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","score":"7.8","severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.8","severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"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"}}],"references":[{"url":"https://git.kernel.org/stable/c/0f5c185fc79a59ee9991234dd6d2a3e5afa6e75b","name":"https://git.kernel.org/stable/c/0f5c185fc79a59ee9991234dd6d2a3e5afa6e75b","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/21d70744e6d3bbf9293aa1ee6fba7c53ad75275e","name":"https://git.kernel.org/stable/c/21d70744e6d3bbf9293aa1ee6fba7c53ad75275e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/14ef6fd18db2494098b21e0471bf27a1d8e9993e","name":"https://git.kernel.org/stable/c/14ef6fd18db2494098b21e0471bf27a1d8e9993e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/46662f7dc59475995609bf3e9d27eb36f4acf26f","name":"https://git.kernel.org/stable/c/46662f7dc59475995609bf3e9d27eb36f4acf26f","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/44b550d88b267320459d518c0743a241ab2108fa","name":"https://git.kernel.org/stable/c/44b550d88b267320459d518c0743a241ab2108fa","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/3abc8983b2bae3f487f77d9da5527d7d6b210d46","name":"https://git.kernel.org/stable/c/3abc8983b2bae3f487f77d9da5527d7d6b210d46","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/e9aefdc5c53fe9aed108c14e3d155710a1bb14c9","name":"https://git.kernel.org/stable/c/e9aefdc5c53fe9aed108c14e3d155710a1bb14c9","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/1e262db7675e27f42c3f3f47d6011855f4454f24","name":"https://git.kernel.org/stable/c/1e262db7675e27f42c3f3f47d6011855f4454f24","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-43502","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-43502","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3 e9aefdc5c53fe9aed108c14e3d155710a1bb14c9 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3 46662f7dc59475995609bf3e9d27eb36f4acf26f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3 1e262db7675e27f42c3f3f47d6011855f4454f24 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3 21d70744e6d3bbf9293aa1ee6fba7c53ad75275e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3 3abc8983b2bae3f487f77d9da5527d7d6b210d46 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3 14ef6fd18db2494098b21e0471bf27a1d8e9993e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3 0f5c185fc79a59ee9991234dd6d2a3e5afa6e75b git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3 44b550d88b267320459d518c0743a241ab2108fa git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4.17","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 4.17 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.258 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.209 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.175 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.140 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.88 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.30 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.7 7.0.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1-rc3 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"43502","cve":"CVE-2026-43502","epss":"0.000130000","percentile":"0.024950000","score_date":"2026-06-02","updated_at":"2026-06-03 00:08:16"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/rds/message.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"e9aefdc5c53fe9aed108c14e3d155710a1bb14c9","status":"affected","version":"0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3","versionType":"git"},{"lessThan":"46662f7dc59475995609bf3e9d27eb36f4acf26f","status":"affected","version":"0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3","versionType":"git"},{"lessThan":"1e262db7675e27f42c3f3f47d6011855f4454f24","status":"affected","version":"0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3","versionType":"git"},{"lessThan":"21d70744e6d3bbf9293aa1ee6fba7c53ad75275e","status":"affected","version":"0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3","versionType":"git"},{"lessThan":"3abc8983b2bae3f487f77d9da5527d7d6b210d46","status":"affected","version":"0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3","versionType":"git"},{"lessThan":"14ef6fd18db2494098b21e0471bf27a1d8e9993e","status":"affected","version":"0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3","versionType":"git"},{"lessThan":"0f5c185fc79a59ee9991234dd6d2a3e5afa6e75b","status":"affected","version":"0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3","versionType":"git"},{"lessThan":"44b550d88b267320459d518c0743a241ab2108fa","status":"affected","version":"0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/rds/message.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"4.17"},{"lessThan":"4.17","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.258","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.209","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.175","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.140","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.88","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.30","versionType":"semver"},{"lessThanOrEqual":"7.0.*","status":"unaffected","version":"7.0.7","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.1-rc3","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.258","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.209","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.175","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.140","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.88","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.30","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0.7","versionStartIncluding":"4.17","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1-rc3","versionStartIncluding":"4.17","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/rds: handle zerocopy send cleanup before the message is queued\n\nA zerocopy send can fail after user pages have been pinned but before\nthe message is attached to the sending socket.\n\nThe purge path currently infers zerocopy state from rm->m_rs, so an\nunqueued message can be cleaned up as if it owned normal payload pages.\nHowever, zerocopy ownership is really determined by the presence of\nop_mmp_znotifier, regardless of whether the message has reached the\nsocket queue.\n\nCapture op_mmp_znotifier up front in rds_message_purge() and use it as\nthe cleanup discriminator. If the message is already associated with a\nsocket, keep the existing completion path. Otherwise, drop the pinned\npage accounting directly and release the notifier before putting the\npayload pages.\n\nThis keeps early send failure cleanup consistent with the zerocopy\nlifetime rules without changing the normal queued completion path."}],"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"}}],"providerMetadata":{"dateUpdated":"2026-06-01T16:16:11.767Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/e9aefdc5c53fe9aed108c14e3d155710a1bb14c9"},{"url":"https://git.kernel.org/stable/c/46662f7dc59475995609bf3e9d27eb36f4acf26f"},{"url":"https://git.kernel.org/stable/c/1e262db7675e27f42c3f3f47d6011855f4454f24"},{"url":"https://git.kernel.org/stable/c/21d70744e6d3bbf9293aa1ee6fba7c53ad75275e"},{"url":"https://git.kernel.org/stable/c/3abc8983b2bae3f487f77d9da5527d7d6b210d46"},{"url":"https://git.kernel.org/stable/c/14ef6fd18db2494098b21e0471bf27a1d8e9993e"},{"url":"https://git.kernel.org/stable/c/0f5c185fc79a59ee9991234dd6d2a3e5afa6e75b"},{"url":"https://git.kernel.org/stable/c/44b550d88b267320459d518c0743a241ab2108fa"}],"title":"net/rds: handle zerocopy send cleanup before the message is queued","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-43502","datePublished":"2026-05-21T12:17:50.444Z","dateReserved":"2026-05-01T14:12:56.014Z","dateUpdated":"2026-06-01T16:16:11.767Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-05-21 13:16:19","lastModifiedDate":"2026-06-01 17:17:07","problem_types":[],"metrics":{"cvssMetricV31":[{"source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":1.8,"impactScore":5.9}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"43502","Ordinal":"1","Title":"net/rds: handle zerocopy send cleanup before the message is queu","CVE":"CVE-2026-43502","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"43502","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/rds: handle zerocopy send cleanup before the message is queued\n\nA zerocopy send can fail after user pages have been pinned but before\nthe message is attached to the sending socket.\n\nThe purge path currently infers zerocopy state from rm->m_rs, so an\nunqueued message can be cleaned up as if it owned normal payload pages.\nHowever, zerocopy ownership is really determined by the presence of\nop_mmp_znotifier, regardless of whether the message has reached the\nsocket queue.\n\nCapture op_mmp_znotifier up front in rds_message_purge() and use it as\nthe cleanup discriminator. If the message is already associated with a\nsocket, keep the existing completion path. Otherwise, drop the pinned\npage accounting directly and release the notifier before putting the\npayload pages.\n\nThis keeps early send failure cleanup consistent with the zerocopy\nlifetime rules without changing the normal queued completion path.","Type":"Description","Title":"net/rds: handle zerocopy send cleanup before the message is queu"}]}}}