{"api_version":"1","generated_at":"2026-10-09T17:56:12+00:00","cve":"CVE-2026-98277","urls":{"html":"https://cve.report/CVE-2026-98277","api":"https://cve.report/api/cve/CVE-2026-98277.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-98277","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-98277"},"summary":{"title":"eth: fbnic: ring the doorbell if a burst ends in a drop","description":"In the Linux kernel, the following vulnerability has been resolved:\n\neth: fbnic: ring the doorbell if a burst ends in a drop\n\nfbnic_tx_map() skips the doorbell write, and the completion request,\nfor every packet handed to it with xmit_more set, counting on the\npacket which ends the burst to publish them all. When that packet is\ndropped instead - skb_put_padto(), skb_cow_head() or a DMA mapping\nfailure - nothing rings. The descriptors of the preceding packets stay\ninvisible to the HW until the next transmit on that queue, which for a\nburst-then-idle workload may never come.\n\nRemember the meta descriptor of the last packet left without a doorbell\nand flush it from the error paths. The completion request has to be set\non that descriptor rather than simply writing the tail, otherwise the HW\nwould transmit the packets but never report a head, and the ring would\nfill up and stall for good.\n\nThis is very similar to Joe's recent series of fixes for bnxt.\nNot seen in real life, reproduced under QEMU with failure injection.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-10-06 09:18:17","updated_at":"2026-10-06 09:18:17"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/490599ab23134962a6d18a024e84541d77bdb999","name":"https://git.kernel.org/stable/c/490599ab23134962a6d18a024e84541d77bdb999","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/60ef74357a36ed2a102a75bb68d37aa7f305b94e","name":"https://git.kernel.org/stable/c/60ef74357a36ed2a102a75bb68d37aa7f305b94e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/28fb764d670aa22dcbd2a02fd8fd87ae8d3563a9","name":"https://git.kernel.org/stable/c/28fb764d670aa22dcbd2a02fd8fd87ae8d3563a9","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-98277","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98277","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 9a57bacd574b52b08bc2c600af6a8c7a87049ecf 60ef74357a36ed2a102a75bb68d37aa7f305b94e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 9a57bacd574b52b08bc2c600af6a8c7a87049ecf 28fb764d670aa22dcbd2a02fd8fd87ae8d3563a9 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 9a57bacd574b52b08bc2c600af6a8c7a87049ecf 490599ab23134962a6d18a024e84541d77bdb999 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.11","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.11 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.54 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.8 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc4 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"98277","cve":"CVE-2026-98277","epss":"0.001860000","percentile":"0.075210000","score_date":"2026-10-06","updated_at":"2026-10-07 00:14:55"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/net/ethernet/meta/fbnic/fbnic_txrx.c","drivers/net/ethernet/meta/fbnic/fbnic_txrx.h"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"60ef74357a36ed2a102a75bb68d37aa7f305b94e","status":"affected","version":"9a57bacd574b52b08bc2c600af6a8c7a87049ecf","versionType":"git"},{"lessThan":"28fb764d670aa22dcbd2a02fd8fd87ae8d3563a9","status":"affected","version":"9a57bacd574b52b08bc2c600af6a8c7a87049ecf","versionType":"git"},{"lessThan":"490599ab23134962a6d18a024e84541d77bdb999","status":"affected","version":"9a57bacd574b52b08bc2c600af6a8c7a87049ecf","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/net/ethernet/meta/fbnic/fbnic_txrx.c","drivers/net/ethernet/meta/fbnic/fbnic_txrx.h"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.11"},{"lessThan":"6.11","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.54","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.8","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3-rc4","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.54","versionStartIncluding":"6.11","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.8","versionStartIncluding":"6.11","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3-rc4","versionStartIncluding":"6.11","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\neth: fbnic: ring the doorbell if a burst ends in a drop\n\nfbnic_tx_map() skips the doorbell write, and the completion request,\nfor every packet handed to it with xmit_more set, counting on the\npacket which ends the burst to publish them all. When that packet is\ndropped instead - skb_put_padto(), skb_cow_head() or a DMA mapping\nfailure - nothing rings. The descriptors of the preceding packets stay\ninvisible to the HW until the next transmit on that queue, which for a\nburst-then-idle workload may never come.\n\nRemember the meta descriptor of the last packet left without a doorbell\nand flush it from the error paths. The completion request has to be set\non that descriptor rather than simply writing the tail, otherwise the HW\nwould transmit the packets but never report a head, and the ring would\nfill up and stall for good.\n\nThis is very similar to Joe's recent series of fixes for bnxt.\nNot seen in real life, reproduced under QEMU with failure injection."}],"providerMetadata":{"dateUpdated":"2026-10-06T08:45:37.598Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/60ef74357a36ed2a102a75bb68d37aa7f305b94e"},{"url":"https://git.kernel.org/stable/c/28fb764d670aa22dcbd2a02fd8fd87ae8d3563a9"},{"url":"https://git.kernel.org/stable/c/490599ab23134962a6d18a024e84541d77bdb999"}],"title":"eth: fbnic: ring the doorbell if a burst ends in a drop","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-98277","datePublished":"2026-10-06T08:45:37.598Z","dateReserved":"2026-09-25T10:25:14.334Z","dateUpdated":"2026-10-06T08:45:37.598Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-06 09:18:17","lastModifiedDate":"2026-10-06 09:18:17","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"98277","Ordinal":"1","Title":"eth: fbnic: ring the doorbell if a burst ends in a drop","CVE":"CVE-2026-98277","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"98277","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\neth: fbnic: ring the doorbell if a burst ends in a drop\n\nfbnic_tx_map() skips the doorbell write, and the completion request,\nfor every packet handed to it with xmit_more set, counting on the\npacket which ends the burst to publish them all. When that packet is\ndropped instead - skb_put_padto(), skb_cow_head() or a DMA mapping\nfailure - nothing rings. The descriptors of the preceding packets stay\ninvisible to the HW until the next transmit on that queue, which for a\nburst-then-idle workload may never come.\n\nRemember the meta descriptor of the last packet left without a doorbell\nand flush it from the error paths. The completion request has to be set\non that descriptor rather than simply writing the tail, otherwise the HW\nwould transmit the packets but never report a head, and the ring would\nfill up and stall for good.\n\nThis is very similar to Joe's recent series of fixes for bnxt.\nNot seen in real life, reproduced under QEMU with failure injection.","Type":"Description","Title":"eth: fbnic: ring the doorbell if a burst ends in a drop"}]}}}