{"metadata": {"vulnerability": "CVE-2026-98869", "count": 20, "kinds": {"milestone": 7, "sighting": 1, "kev": 0, "other": 12}}, "data": [{"timestamp": "2026-09-25T10:25:14.377Z", "date_only": false, "value": "2026-09-25T10:25:14.377Z", "kind": "milestone", "label": "Reserved", "source": "cvelistv5", "record": "CVE-2026-98869", "field": "cveMetadata.dateReserved"}, {"timestamp": "2026-10-21T14:55:10.364Z", "date_only": false, "value": "2026-10-21T14:55:10.364Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-98869", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-10-21T15:17:00Z", "date_only": false, "value": "2026-10-21T15:17:00Z", "kind": "milestone", "label": "Published", "source": "osv_ubuntu \u00b7 UBUNTU-CVE-2026-98869", "record": "UBUNTU-CVE-2026-98869", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-21T15:17:19Z", "date_only": false, "value": "2026-10-21T15:17:19Z", "kind": "other", "label": "Nvd published at", "source": "github \u00b7 GHSA-M2XX-FFWM-822C", "record": "GHSA-M2XX-FFWM-822C", "field": "database_specific.nvd_published_at", "linked_record": true}, {"timestamp": "2026-10-21T15:17:19.827Z", "date_only": false, "value": "2026-10-21T15:17:19.827", "kind": "milestone", "label": "Published", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-98869", "record": "FKIE_CVE-2026-98869", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-21T15:42:33Z", "date_only": false, "value": "2026-10-21T15:42:33Z", "kind": "milestone", "label": "Published", "source": "github \u00b7 GHSA-M2XX-FFWM-822C", "record": "GHSA-M2XX-FFWM-822C", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-21T18:28:49.189Z", "date_only": false, "value": "2026-10-21T18:28:49.189218Z", "kind": "sighting", "label": "Seen", "source": "https://infosec.exchange/users/cve/statuses/117480313886696438", "record": "CVE-2026-98869", "field": "creation_timestamp", "uuid": "7d985e37-4134-4440-9581-3db3d9810967", "content": "CVE-2026-98869 bpf: Infer zext_dst based on static register liveness analysis In the Linux kernel, the following vulnerability has been resolved:\nbpf: Infer zext_dst based on static register liveness analysis\nAs reported in the thread [1], the verifier's 32-bit operations zeroextension logic is broken. This logic is responsible for correctsemantics of 32-bit operations on s390 architecture.\nAccording to BPF semantics, operation `w1 += 1` is supposed to zeroextend the upper half of the register `r1`. On s390 the JIT relies onthe verifier emitting explicit zero extension before such operations.\nThe verifier attempts to minimize the amount of zero extensionsinserted by tracking whether upper halves of the 64-bit registers areever used. Previously such tracking worked as follows:\n- bpf_reg_state-&gt;subreg_def field was set by do_check_insn()  for each operation defining lower but not the upper halves  of the register.- Whenever an operation reading the whole register was verified,  the verifier checked register's subreg_def and set  bpf_insn_aux_data-&gt;zext_dst flag as true via a call to  mark_insn_zext() function.- After the verification was complete, a special pass  bpf_opt_subreg_zext_lo32_rnd_hi32() extended 32-bit operations  with bpf_insn_aux_data-&gt;zext_dst set as true by adding  explicit zero extension.\nNote that the logic above relies on bpf_reg_state-&gt;subreg_def,which is a property of a current verifier state.Before the commit [2] two additional steps happened:\n- The verifier tracked upper and lower register halves' liveness as  flags REG_LIVE_READ{32,64} in bpf_reg_state-&gt;live.- The function propagate_liveness() called mark_insn_zext()  in order to transfer the knowledge about which registers have  their upper halves alive (and thus might require zero extension).\nThe commit [2] removed the two steps described above,hence making possible a situation like below:\n- The register's upper half is set and is used on some verification  path P1 and the register happens not to be marked as precise.- The checkpoint C is created while processing some instruction  between register initialization and usage.- On some other verification path P2 the register's upper half is not  initialized and that path ends hitting the checkpoint C.- In such a case the register's initialization on path P2 would lack  zext_dst mark, making it possible for the program to inject  an arbitrary value in the register's upper half.\nThis commit replaces subreg_def based logic with computing zext_dststatically, as a part of the bpf_compute_live_registers() analysis:\n- The analysis now tracks usage of upper and lower halves of the  registers separately.- If some instruction defines a 32-bit subregister, but not the whole  register, *and* the upper half of the register is alive after that  instruction, the instruction is marked as zext_dst.\nThere is one notable drop in precision: whenever a BPF subprogram iscalled, all 64 bits of parameter registers are presumed to be used.The assumption is that such a drop in precision would not inflicta noticeable performance penalty.\n[1] https://lore.kernel.org/bpf/CAGKGUv=sOuqQtA1Ub-5JXfA4FPosJFYKAQE4B79cK+P1erxqtg@mail.gmail.com/[2] commit 107e16979905 (\"bpf: disable and remove registers chain based liveness\")\nhttps://www.cve.org/CVERecord?id=CVE-2026-98869https://git.kernel.org/stable/c/7ce090afbf725e25fff29caacce1eaf8459b1117#kernel #Linux#CVE_2026_98869#bot", "url": "https://infosec.exchange/users/cve/statuses/117480313886696438"}, {"timestamp": "2026-10-21T22:00:00Z", "date_only": false, "value": "2026-10-21T22:00:00.000+00:00", "kind": "other", "label": "Advisory revision", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4097", "record": "WID-SEC-W-2026-4097", "field": "document.tracking.revision_history.0.date", "linked_record": true}, {"timestamp": "2026-10-21T22:00:00Z", "date_only": false, "value": "2026-10-21T22:00:00.000+00:00", "kind": "milestone", "label": "Published", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4097", "record": "WID-SEC-W-2026-4097", "field": "document.tracking.initial_release_date", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-21T22:00:00Z", "date_only": false, "value": "2026-10-21T22:00:00.000+00:00", "kind": "other", "label": "Release date", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4097", "record": "WID-SEC-W-2026-4097", "field": "vulnerabilities.1.release_date", "linked_record": true, "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-10-24T06:08:26.532Z", "date_only": false, "value": "2026-10-24T06:08:26.532096Z", "kind": "milestone", "label": "Published", "source": "osv_bellsoft \u00b7 BELL-CVE-2026-98869", "record": "BELL-CVE-2026-98869", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-24T14:09:25.680Z", "date_only": false, "value": "2026-10-24T14:09:25.680Z", "kind": "other", "label": "Updated", "source": "cvelistv5", "record": "CVE-2026-98869", "field": "cveMetadata.dateUpdated"}, {"timestamp": "2026-10-24T14:09:25.680Z", "date_only": false, "value": "2026-10-24T14:09:25.680Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / Linux", "record": "CVE-2026-98869", "field": "containers.cna.providerMetadata.dateUpdated"}, {"timestamp": "2026-10-24T14:16:47.630Z", "date_only": false, "value": "2026-10-24T14:16:47.630", "kind": "other", "label": "Updated", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-98869", "record": "FKIE_CVE-2026-98869", "field": "lastModified", "linked_record": true}, {"timestamp": "2026-10-24T15:32:47Z", "date_only": false, "value": "2026-10-24T15:32:47Z", "kind": "other", "label": "Updated", "source": "github \u00b7 GHSA-M2XX-FFWM-822C", "record": "GHSA-M2XX-FFWM-822C", "field": "modified", "linked_record": true}, {"timestamp": "2026-10-24T20:02:25.867Z", "date_only": false, "value": "2026-10-24T20:02:25.867244Z", "kind": "other", "label": "Updated", "source": "osv_bellsoft \u00b7 BELL-CVE-2026-98869", "record": "BELL-CVE-2026-98869", "field": "modified", "linked_record": true}, {"timestamp": "2026-11-03T23:00:00Z", "date_only": false, "value": "2026-11-03T23:00:00.000+00:00", "kind": "other", "label": "Advisory revision", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4097", "record": "WID-SEC-W-2026-4097", "field": "document.tracking.revision_history.1.date", "linked_record": true}, {"timestamp": "2026-11-03T23:00:00Z", "date_only": false, "value": "2026-11-03T23:00:00.000+00:00", "kind": "other", "label": "Updated", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4097", "record": "WID-SEC-W-2026-4097", "field": "document.tracking.current_release_date", "linked_record": true}, {"timestamp": "2026-11-04T11:40:32.928Z", "date_only": false, "value": "2026-11-04T11:40:32.928+00:00", "kind": "other", "label": "Document generated", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4097", "record": "WID-SEC-W-2026-4097", "field": "document.tracking.generator.date", "linked_record": true}, {"timestamp": "2026-11-06T10:51:01Z", "date_only": false, "value": "2026-11-06T10:51:01Z", "kind": "other", "label": "Updated", "source": "osv_ubuntu \u00b7 UBUNTU-CVE-2026-98869", "record": "UBUNTU-CVE-2026-98869", "field": "modified", "linked_record": true}], "metrics": {"as_of": "2026-11-09T20:34:07.555Z", "anchors": {"origin": {"timestamp": "2026-10-21T14:55:10.364Z", "date_only": false, "value": "2026-10-21T14:55:10.364Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-98869", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "discovery": null, "report": null, "acknowledgement": null, "disclosure": {"timestamp": "2026-10-21T14:55:10.364Z", "date_only": false, "value": "2026-10-21T14:55:10.364Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-98869", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "exploit_publication": null, "exploitation": null, "patch": null}, "vendor_response_time": {"available": false, "missing": ["start", "end"]}, "time_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit_publication": {"available": false, "missing": ["end"]}, "time_to_patch": {"available": false, "missing": ["start", "end"]}, "total_time_to_patch": {"available": false, "missing": ["start", "end"]}, "disclosure_to_patch": {"available": false, "missing": ["end"]}, "time_unpatched": {"available": true, "seconds": 1661937.1913, "hours": 461.64921980555556, "days": 19.235384158564816, "min_seconds": 1661937.1913, "max_seconds": 1661937.1913, "approximate": false, "ongoing": true, "order_known": true, "batch_listing": false, "end_before_start": false, "start": {"timestamp": "2026-10-21T14:55:10.364Z", "date_only": false, "value": "2026-10-21T14:55:10.364Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-98869", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "end": {"timestamp": "2026-11-09T20:34:07.555Z", "date_only": false, "label": "As of", "source": "Calculation clock"}}, "exploitation_to_patch": {"available": false, "missing": ["start"]}, "exploit_publication_to_patch": {"available": false, "missing": ["start"]}}}
