{"metadata": {"vulnerability": "CVE-2026-110985", "count": 21, "kinds": {"milestone": 7, "sighting": 3, "kev": 0, "other": 11}}, "data": [{"timestamp": "2026-10-15T11:31:31.708Z", "date_only": false, "value": "2026-10-15T11:31:31.708Z", "kind": "milestone", "label": "Reserved", "source": "cvelistv5", "record": "CVE-2026-110985", "field": "cveMetadata.dateReserved"}, {"timestamp": "2026-10-28T00:00:00Z", "date_only": true, "value": "2026-10-28", "kind": "milestone", "label": "Published", "source": "certfr_avis \u00b7 CERTFR-2026-AVI-1415", "record": "CERTFR-2026-AVI-1415", "field": "vendor_advisories.0.published_at", "linked_record": true}, {"timestamp": "2026-10-28T16:37:45.688Z", "date_only": false, "value": "2026-10-28T16:37:45.688Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-110985", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-10-28T16:37:45.688Z", "date_only": false, "value": "2026-10-28T16:37:45.688Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / apache", "record": "CVE-2026-110985", "field": "containers.cna.providerMetadata.dateUpdated"}, {"timestamp": "2026-10-28T16:53:02.441Z", "date_only": false, "value": "2026-10-28T16:53:02.441697Z", "kind": "sighting", "label": "Seen", "source": "https://infosec.exchange/users/cve/statuses/117519573445667582", "record": "CVE-2026-110985", "field": "creation_timestamp", "uuid": "5c3f9a8a-3126-4ed2-9169-8776db0c02b4", "content": "CVE-2026-110985 Apache Kafka: Broker silently skips JWT signature verification for SASL/OAUTHBEARER when the JWKS endpoint URL is not configured A Kafka broker using SASL/OAUTHBEARER with the default validator&nbsp;(sasl.oauthbearer.jwt.validator.class=DefaultJwtValidator) selects its implementation from&nbsp;configuration. When sasl.oauthbearer.jwks.endpoint.url is set, the validator verifies the&nbsp;JWT signature. When that URL is unset (the default) and no verification key resolver is&nbsp;supplied, DefaultJwtValidator silently falls back to ClientJwtValidator, which does not&nbsp;verify the JWT signature, algorithm, or issuer - and the broker starts with no warning or&nbsp;error. This is the residual of CVE-2026-33557, whose fix restored signature verification&nbsp;only on the path where the JWKS endpoint URL is set.\nImpact:\nA broker in this state accepts any structurally valid JWT, including \"alg\":\"none\" tokens. An&nbsp;unauthenticated remote attacker who can reach the listener can forge a token asserting any&nbsp;principal - including configured superusers - and gain full access to the cluster. Only&nbsp;brokers that enable SASL/OAUTHBEARER validation without a JWKS endpoint URL (and without a&nbsp;custom verification key resolver) are affected; brokers that set the URL verify signatures&nbsp;and are not affected. Unlike CVE-2026-110952 (issuer/audience not enforced by default), here&nbsp;no signature is verified at all.\nMitigation (all affected versions, no upgrade required):\nSet sasl.oauthbearer.jwks.endpoint.url for every listener/mechanism that uses&nbsp;OAuthBearerValidatorCallbackHandler, or configure a signature-verifying&nbsp;sasl.oauthbearer.jwt.validator.class.\nResolution:\nFrom Apache Kafka 4.2.2, 4.3.1, and 4.4.0: a broker that would fall back to the&nbsp;non-verifying ClientJwtValidator fails to start with a ConfigException instead of running&nbsp;without signature verification (secure by default).\nhttps://www.cve.org/CVERecord?id=CVE-2026-110985https://kafka.apache.org/cve-list#apache #ApacheSoftwareFoundation #ApacheKafka#CVE_2026_110985#bot", "url": "https://infosec.exchange/users/cve/statuses/117519573445667582"}, {"timestamp": "2026-10-28T17:17:00Z", "date_only": false, "value": "2026-10-28T17:17:00Z", "kind": "milestone", "label": "Published", "source": "osv_ubuntu \u00b7 UBUNTU-CVE-2026-110985", "record": "UBUNTU-CVE-2026-110985", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-28T17:17:38Z", "date_only": false, "value": "2026-10-28T17:17:38Z", "kind": "other", "label": "Nvd published at", "source": "github \u00b7 GHSA-J27V-M9WW-P89M", "record": "GHSA-J27V-M9WW-P89M", "field": "database_specific.nvd_published_at", "linked_record": true}, {"timestamp": "2026-10-28T17:17:38.157Z", "date_only": false, "value": "2026-10-28T17:17:38.157", "kind": "milestone", "label": "Published", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-110985", "record": "FKIE_CVE-2026-110985", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-28T18:16:06.925Z", "date_only": false, "value": "2026-10-28T18:16:06.925403Z", "kind": "sighting", "label": "Seen", "source": "https://bsky.app/profile/infosec.skyfleet.blue/post/cyxkyfwfujhil", "record": "CVE-2026-110985", "field": "creation_timestamp", "uuid": "16f3c90e-f5dd-46c1-93aa-ceaaecb2d8d4", "content": "CVE-2026-110985: Apache Kafka: Broker silently skips JWT signature verification for SASL/OAUTHBEARER when the JWKS endpoint URL is not configured", "url": "https://bsky.app/profile/infosec.skyfleet.blue/post/cyxkyfwfujhil"}, {"timestamp": "2026-10-28T18:32:03Z", "date_only": false, "value": "2026-10-28T18:32:03Z", "kind": "milestone", "label": "Published", "source": "github \u00b7 GHSA-J27V-M9WW-P89M", "record": "GHSA-J27V-M9WW-P89M", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-29T00:00:00Z", "date_only": false, "value": "2026-10-29T00:00:00", "kind": "other", "label": "Last revision date", "source": "certfr_avis \u00b7 CERTFR-2026-AVI-1415", "record": "CERTFR-2026-AVI-1415", "field": "last_revision_date", "linked_record": true}, {"timestamp": "2026-10-29T00:00:00Z", "date_only": false, "value": "2026-10-29T00:00:00", "kind": "milestone", "label": "Published", "source": "certfr_avis \u00b7 CERTFR-2026-AVI-1415", "record": "CERTFR-2026-AVI-1415", "field": "initial_release_date", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-29T00:00:00Z", "date_only": false, "value": "2026-10-29T00:00:00.000000", "kind": "other", "label": "Revision date", "source": "certfr_avis \u00b7 CERTFR-2026-AVI-1415", "record": "CERTFR-2026-AVI-1415", "field": "revisions.0.revision_date", "linked_record": true}, {"timestamp": "2026-10-29T03:34:31.666Z", "date_only": false, "value": "2026-10-29T03:34:31.666199Z", "kind": "sighting", "label": "Seen", "source": "https://bsky.app/profile/securityonline.bsky.social/post/3myydhr7vft22", "record": "CVE-2026-110985", "field": "creation_timestamp", "uuid": "e99dbb6b-68da-4d79-b458-3a8e523406d0", "content": "Apache Kafka fixes 12 vulnerabilities, including CVE-2026-110985, which skips JWT signature verification and grants full cluster access. Patch now.\n\n#ApacheKafka #Kafka #CVE2026110985 #JWT #OAuth #DataStreaming #DoS #PatchNow", "url": "https://bsky.app/profile/securityonline.bsky.social/post/3myydhr7vft22"}, {"timestamp": "2026-11-05T19:13:09.744Z", "date_only": false, "value": "2026-11-05T19:13:09.744748Z", "kind": "other", "label": "Recorded", "source": "cvelistv5 / CISA-ADP", "record": "CVE-2026-110985", "field": "containers.adp.0.metrics.1.other.content.timestamp"}, {"timestamp": "2026-11-05T19:13:09.744Z", "date_only": false, "value": "2026-11-05T19:13:09.744748Z", "kind": "other", "label": "Recorded", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-110985", "record": "FKIE_CVE-2026-110985", "field": "metrics.ssvcV203.0.ssvcData.timestamp", "linked_record": true}, {"timestamp": "2026-11-05T19:13:23.510Z", "date_only": false, "value": "2026-11-05T19:13:23.510Z", "kind": "other", "label": "Updated", "source": "cvelistv5", "record": "CVE-2026-110985", "field": "cveMetadata.dateUpdated"}, {"timestamp": "2026-11-05T19:13:23.510Z", "date_only": false, "value": "2026-11-05T19:13:23.510Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / CISA-ADP", "record": "CVE-2026-110985", "field": "containers.adp.0.providerMetadata.dateUpdated"}, {"timestamp": "2026-11-05T20:17:40.960Z", "date_only": false, "value": "2026-11-05T20:17:40.960", "kind": "other", "label": "Updated", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-110985", "record": "FKIE_CVE-2026-110985", "field": "lastModified", "linked_record": true}, {"timestamp": "2026-11-05T21:34:39Z", "date_only": false, "value": "2026-11-05T21:34:39Z", "kind": "other", "label": "Updated", "source": "github \u00b7 GHSA-J27V-M9WW-P89M", "record": "GHSA-J27V-M9WW-P89M", "field": "modified", "linked_record": true}, {"timestamp": "2026-11-06T23:21:27Z", "date_only": false, "value": "2026-11-06T23:21:27Z", "kind": "other", "label": "Updated", "source": "osv_ubuntu \u00b7 UBUNTU-CVE-2026-110985", "record": "UBUNTU-CVE-2026-110985", "field": "modified", "linked_record": true}], "metrics": {"as_of": "2026-11-07T03:15:36.017Z", "anchors": {"origin": {"timestamp": "2026-10-28T16:37:45.688Z", "date_only": false, "value": "2026-10-28T16:37:45.688Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-110985", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "discovery": null, "report": null, "acknowledgement": null, "disclosure": {"timestamp": "2026-10-28T16:37:45.688Z", "date_only": false, "value": "2026-10-28T16:37:45.688Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-110985", "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": 815870.329147, "hours": 226.63064698527776, "days": 9.442943624386574, "min_seconds": 815870.329147, "max_seconds": 815870.329147, "approximate": false, "ongoing": true, "order_known": true, "batch_listing": false, "end_before_start": false, "start": {"timestamp": "2026-10-28T16:37:45.688Z", "date_only": false, "value": "2026-10-28T16:37:45.688Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-110985", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "end": {"timestamp": "2026-11-07T03:15:36.017Z", "date_only": false, "label": "As of", "source": "Calculation clock"}}, "exploitation_to_patch": {"available": false, "missing": ["start"]}, "exploit_publication_to_patch": {"available": false, "missing": ["start"]}}}
