{"items":[{"id":"NVI-00011779","kind":"vulnerability","title":"PyMongo: PYTHON-5986 Host injection in PyMongo connection string parsing via percent-encoded delimiters","revision":4,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-vp6j-j7w5-5xjj","CVE-2026-96748"],"plain_summary":"GitHub lists this reviewed advisory for pymongo. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-0017d6cd19ad32e4161cb27cdcc745e6"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-05T23:47:09.000Z","value":"6.5 high","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-27bdf595fe184bdadca010d7b943b8ad"},{"kind":"CVSS","as_of":"2026-09-24T21:00:46.893Z","value":"6.5 MEDIUM (3.1)","meaning":"cna@mongodb.com severity; no combined Null risk score.","source_id":"sr-64ace7f65f7f31fb1b8adf05d5fa1c7c"},{"kind":"CVSS","as_of":"2026-09-24T21:00:46.893Z","value":"8.3 HIGH (4.0)","meaning":"cna@mongodb.com severity; no combined Null risk score.","source_id":"sr-64ace7f65f7f31fb1b8adf05d5fa1c7c"},{"kind":"EPSS","as_of":"2026-11-05T12:03:04.000Z","value":"0.361%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.30025. Missing scores are unknown.","source_id":"sr-0017d6cd19ad32e4161cb27cdcc745e6"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-27bdf595fe184bdadca010d7b943b8ad","url":"https://github.com/advisories/GHSA-vp6j-j7w5-5xjj","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-vp6j-j7w5-5xjj","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T00:59:16.959Z"},{"id":"sr-64ace7f65f7f31fb1b8adf05d5fa1c7c","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-96748","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-96748","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-04T09:59:59.040Z"},{"id":"sr-0017d6cd19ad32e4161cb27cdcc745e6","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-96748","publisher":"FIRST EPSS","observed_at":"2026-11-06T07:17:46.405Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-27bdf595fe184bdadca010d7b943b8ad"],"technology":"pymongo","known_exclusions":[],"conditions_summary":"### Summary\n\nPyMongo percent-decoded the entire host section of a connection string before splitting it into individual `host:port` entries. A percent-encoded `,` or `:` in a hostname therefore decoded into a real delimiter, injecting an additional attacker-chosen host and port into the client's seed list.\n\n### Impact\n\nAn application that interpolates untrusted input into a MongoDB connection string -- for example, a tenant name or hostname fragment taken from a request -- could be made to add an attacker-controlled server to the seed list. Because `%2C` and `%3A` survive most URL-safety checks and only become delimiters inside PyMongo's parser, input that looks like a single hostname to the application becomes two hosts to the driver. The client may then perform topology discovery and authentication against the attacker's host, exposing credentials, or route operations to it.\n\nUnix domain socket paths, the only host identifiers that legitimately require percent-encoding, are not affected.\n\n### Patches\n\nFixed in PyMongo 4.18.2. Percent-decoding was moved into `split_hosts` and now applies only to Unix domain socket paths, identified by an unescaped `.sock` suffix before decoding, a","public_affected_ranges":[">= 3.5.0, <= 4.18.1"]}],"null_published_at":"2026-11-07T07:07:42.505Z","source_updated_at":"2026-10-05T23:47:09.000Z","source_disclosed_at":"2026-10-05T23:47:07.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Dated EPSS estimate updated; this is not a new disclosure or proof of exploitation.","null_first_observed_at":"2026-11-01T00:59:16.959Z"},{"id":"NVI-00011779","kind":"vulnerability","title":"PyMongo: PYTHON-5986 Host injection in PyMongo connection string parsing via percent-encoded delimiters","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-vp6j-j7w5-5xjj","CVE-2026-96748"],"plain_summary":"GitHub lists this reviewed advisory for pymongo. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-87ea55c6e2c4ba2d1e53a2448d31c371"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-05T23:47:09.000Z","value":"6.5 high","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-27bdf595fe184bdadca010d7b943b8ad"},{"kind":"EPSS","as_of":"2026-10-31T12:00:27.000Z","value":"0.361%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.29884. Missing scores are unknown.","source_id":"sr-87ea55c6e2c4ba2d1e53a2448d31c371"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-27bdf595fe184bdadca010d7b943b8ad","url":"https://github.com/advisories/GHSA-vp6j-j7w5-5xjj","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-vp6j-j7w5-5xjj","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T00:59:16.959Z"},{"id":"sr-87ea55c6e2c4ba2d1e53a2448d31c371","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-96748","publisher":"FIRST EPSS","observed_at":"2026-11-01T01:39:43.090Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-27bdf595fe184bdadca010d7b943b8ad"],"technology":"pymongo","known_exclusions":[],"conditions_summary":"### Summary\n\nPyMongo percent-decoded the entire host section of a connection string before splitting it into individual `host:port` entries. A percent-encoded `,` or `:` in a hostname therefore decoded into a real delimiter, injecting an additional attacker-chosen host and port into the client's seed list.\n\n### Impact\n\nAn application that interpolates untrusted input into a MongoDB connection string -- for example, a tenant name or hostname fragment taken from a request -- could be made to add an attacker-controlled server to the seed list. Because `%2C` and `%3A` survive most URL-safety checks and only become delimiters inside PyMongo's parser, input that looks like a single hostname to the application becomes two hosts to the driver. The client may then perform topology discovery and authentication against the attacker's host, exposing credentials, or route operations to it.\n\nUnix domain socket paths, the only host identifiers that legitimately require percent-encoding, are not affected.\n\n### Patches\n\nFixed in PyMongo 4.18.2. Percent-decoding was moved into `split_hosts` and now applies only to Unix domain socket paths, identified by an unescaped `.sock` suffix before decoding, a","public_affected_ranges":[">= 3.5.0, <= 4.18.1"]}],"null_published_at":"2026-11-04T02:53:08.399Z","source_updated_at":"2026-10-05T23:47:09.000Z","source_disclosed_at":"2026-10-05T23:47:07.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Dated EPSS estimate updated; this is not a new disclosure or proof of exploitation.","null_first_observed_at":"2026-11-01T00:59:16.959Z"},{"id":"NVI-00011779","kind":"vulnerability","title":"PyMongo: PYTHON-5986 Host injection in PyMongo connection string parsing via percent-encoded delimiters","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-vp6j-j7w5-5xjj","CVE-2026-96748"],"plain_summary":"GitHub lists this reviewed advisory for pymongo. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-27bdf595fe184bdadca010d7b943b8ad"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-05T23:47:09.000Z","value":"6.5 high","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-27bdf595fe184bdadca010d7b943b8ad"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-27bdf595fe184bdadca010d7b943b8ad","url":"https://github.com/advisories/GHSA-vp6j-j7w5-5xjj","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-vp6j-j7w5-5xjj","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T00:59:16.959Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-27bdf595fe184bdadca010d7b943b8ad"],"technology":"pymongo","known_exclusions":[],"conditions_summary":"### Summary\n\nPyMongo percent-decoded the entire host section of a connection string before splitting it into individual `host:port` entries. A percent-encoded `,` or `:` in a hostname therefore decoded into a real delimiter, injecting an additional attacker-chosen host and port into the client's seed list.\n\n### Impact\n\nAn application that interpolates untrusted input into a MongoDB connection string -- for example, a tenant name or hostname fragment taken from a request -- could be made to add an attacker-controlled server to the seed list. Because `%2C` and `%3A` survive most URL-safety checks and only become delimiters inside PyMongo's parser, input that looks like a single hostname to the application becomes two hosts to the driver. The client may then perform topology discovery and authentication against the attacker's host, exposing credentials, or route operations to it.\n\nUnix domain socket paths, the only host identifiers that legitimately require percent-encoding, are not affected.\n\n### Patches\n\nFixed in PyMongo 4.18.2. Percent-decoding was moved into `split_hosts` and now applies only to Unix domain socket paths, identified by an unescaped `.sock` suffix before decoding, a","public_affected_ranges":[">= 3.5.0, <= 4.18.1"]}],"null_published_at":"2026-11-01T01:03:56.603Z","source_updated_at":"2026-10-05T23:47:09.000Z","source_disclosed_at":"2026-10-05T23:47:07.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-01T00:59:16.959Z"}],"next_cursor":null,"snapshot_revision":"42594"}