{"items":[{"id":"NVI-00008968","kind":"vulnerability","title":"qs : qs.stringify with arrayFormat 'comma' throws an uncaught TypeError on array elements carrying a non-callable own toString (DoS)","revision":4,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-6pq8-jhm2-2vcw","CVE-2026-110816"],"plain_summary":"GitHub lists this reviewed advisory for qs. 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-1ef076e4b55cd2bce7c19e5944debb14"],"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},{"summary":"The original advisory lists fixed boundaries 6.16.1 for qs. Confirm the publisher’s latest guidance.","source_ids":["sr-a8b5dbebe9d8e3914dbdb153b068731f"],"action_type":"vendor_patch","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-29T02:22:33.000Z","value":"5.3 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-507ef9d91b1ae03630c8dc1356e51bb0"},{"kind":"EPSS","as_of":"2026-11-01T12:00:16.000Z","value":"0.368%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.30708. Missing scores are unknown.","source_id":"sr-1ef076e4b55cd2bce7c19e5944debb14"}],"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-507ef9d91b1ae03630c8dc1356e51bb0","url":"https://github.com/advisories/GHSA-6pq8-jhm2-2vcw","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-6pq8-jhm2-2vcw","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T21:56:08.420Z"},{"id":"sr-a8b5dbebe9d8e3914dbdb153b068731f","url":"https://github.com/advisories/GHSA-6pq8-jhm2-2vcw","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-6pq8-jhm2-2vcw","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-11-02T20:14:45.415Z"},{"id":"sr-1ef076e4b55cd2bce7c19e5944debb14","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-110816","publisher":"FIRST EPSS","observed_at":"2026-11-01T14:28:32.265Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-507ef9d91b1ae03630c8dc1356e51bb0"],"technology":"qs","known_exclusions":[],"conditions_summary":"## Summary\n\n`qs.stringify(obj, { arrayFormat: 'comma' })` throws an uncaught `TypeError: Cannot convert object to primitive value` when an array in `obj` contains an element that carries an own, non-callable `toString` property (for example `{ a: [ { toString: 'x' } ] }`). A remote, unauthenticated attacker who can influence an object that the application later re-serializes with the comma array format triggers the throw. In a service that lacks a synchronous error boundary around the serialization call, the uncaught exception crashes the worker process, producing a denial of service.\n\n## Root Cause\n\nWhen `arrayFormat: 'comma'` is selected, the comma branch collapses the whole array into a single value via `Array.prototype.join`, or, under `encodeValuesOnly: true`, maps each element through the value encoder before joining. Both paths perform an implicit string coercion (`ToPrimitive` with hint `\"string\"`) on each element. For an object whose own `toString` is a non-callable value, coercion skips the shadowed non-callable `toString`, falls through to `Object.prototype.valueOf` (which returns the object rather than a primitive), and throws. The comma branch runs this coercion before","public_affected_ranges":[">= 6.7.0, <= 6.16.0"]},{"certainty":"source_listed","source_ids":["sr-a8b5dbebe9d8e3914dbdb153b068731f"],"technology":"qs","known_exclusions":[],"conditions_summary":"## Summary\n\n`qs.stringify(obj, { arrayFormat: 'comma' })` throws an uncaught `TypeError: Cannot convert object to primitive value` when an array in `obj` contains an element that carries an own, non-callable `toString` property (for example `{ a: [ { toString: 'x' } ] }`). A remote, unauthenticated attacker who can influence an object that the application later re-serializes with the comma array format triggers the throw. In a service that lacks a synchronous error boundary around the serialization call, the uncaught exception crashes the worker process, producing a denial of service.\n\n## Root Cause\n\nWhen `arrayFormat: 'comma'` is selected, the comma branch collapses the whole array into a single value via `Array.prototype.join`, or, under `encodeValuesOnly: true`, maps each element through the value encoder before joining. Both paths perform an implicit string coercion (`ToPrimitive` with hint `\"string\"`) on each element. For an object whose own `toString` is a non-callable value, coercion skips the shadowed non-callable `toString`, falls through to `Object.prototype.valueOf` (which returns the object rather than a primitive), and throws. The comma branch runs this coercion before","public_affected_ranges":["SEMVER: introduced 6.7.0; fixed 6.16.1"]}],"null_published_at":"2026-11-04T18:04:03.135Z","source_updated_at":"2026-10-29T02:22:33.000Z","source_disclosed_at":"2026-10-27T16:10:55.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-10-31T21:56:08.420Z"},{"id":"NVI-00008968","kind":"vulnerability","title":"qs : qs.stringify with arrayFormat 'comma' throws an uncaught TypeError on array elements carrying a non-callable own toString (DoS)","revision":3,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-6pq8-jhm2-2vcw","CVE-2026-110816"],"plain_summary":"GitHub lists this reviewed advisory for qs. 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-57ae2e018603970c334fc09321c1e3f1"],"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},{"summary":"The original advisory lists fixed boundaries 6.16.1 for qs. Confirm the publisher’s latest guidance.","source_ids":["sr-a8b5dbebe9d8e3914dbdb153b068731f"],"action_type":"vendor_patch","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-29T02:22:33.000Z","value":"5.3 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-507ef9d91b1ae03630c8dc1356e51bb0"},{"kind":"EPSS","as_of":"2026-10-31T12:00:27.000Z","value":"0.368%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.30715. Missing scores are unknown.","source_id":"sr-57ae2e018603970c334fc09321c1e3f1"}],"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-507ef9d91b1ae03630c8dc1356e51bb0","url":"https://github.com/advisories/GHSA-6pq8-jhm2-2vcw","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-6pq8-jhm2-2vcw","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T21:56:08.420Z"},{"id":"sr-a8b5dbebe9d8e3914dbdb153b068731f","url":"https://github.com/advisories/GHSA-6pq8-jhm2-2vcw","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-6pq8-jhm2-2vcw","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-11-02T20:14:45.415Z"},{"id":"sr-57ae2e018603970c334fc09321c1e3f1","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-110816","publisher":"FIRST EPSS","observed_at":"2026-10-31T22:06:15.374Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-507ef9d91b1ae03630c8dc1356e51bb0"],"technology":"qs","known_exclusions":[],"conditions_summary":"## Summary\n\n`qs.stringify(obj, { arrayFormat: 'comma' })` throws an uncaught `TypeError: Cannot convert object to primitive value` when an array in `obj` contains an element that carries an own, non-callable `toString` property (for example `{ a: [ { toString: 'x' } ] }`). A remote, unauthenticated attacker who can influence an object that the application later re-serializes with the comma array format triggers the throw. In a service that lacks a synchronous error boundary around the serialization call, the uncaught exception crashes the worker process, producing a denial of service.\n\n## Root Cause\n\nWhen `arrayFormat: 'comma'` is selected, the comma branch collapses the whole array into a single value via `Array.prototype.join`, or, under `encodeValuesOnly: true`, maps each element through the value encoder before joining. Both paths perform an implicit string coercion (`ToPrimitive` with hint `\"string\"`) on each element. For an object whose own `toString` is a non-callable value, coercion skips the shadowed non-callable `toString`, falls through to `Object.prototype.valueOf` (which returns the object rather than a primitive), and throws. The comma branch runs this coercion before","public_affected_ranges":[">= 6.7.0, <= 6.16.0"]},{"certainty":"source_listed","source_ids":["sr-a8b5dbebe9d8e3914dbdb153b068731f"],"technology":"qs","known_exclusions":[],"conditions_summary":"## Summary\n\n`qs.stringify(obj, { arrayFormat: 'comma' })` throws an uncaught `TypeError: Cannot convert object to primitive value` when an array in `obj` contains an element that carries an own, non-callable `toString` property (for example `{ a: [ { toString: 'x' } ] }`). A remote, unauthenticated attacker who can influence an object that the application later re-serializes with the comma array format triggers the throw. In a service that lacks a synchronous error boundary around the serialization call, the uncaught exception crashes the worker process, producing a denial of service.\n\n## Root Cause\n\nWhen `arrayFormat: 'comma'` is selected, the comma branch collapses the whole array into a single value via `Array.prototype.join`, or, under `encodeValuesOnly: true`, maps each element through the value encoder before joining. Both paths perform an implicit string coercion (`ToPrimitive` with hint `\"string\"`) on each element. For an object whose own `toString` is a non-callable value, coercion skips the shadowed non-callable `toString`, falls through to `Object.prototype.valueOf` (which returns the object rather than a primitive), and throws. The comma branch runs this coercion before","public_affected_ranges":["SEMVER: introduced 6.7.0; fixed 6.16.1"]}],"null_published_at":"2026-11-02T20:21:10.348Z","source_updated_at":"2026-10-29T02:22:33.000Z","source_disclosed_at":"2026-10-27T16:10:55.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-10-31T21:56:08.420Z"},{"id":"NVI-00008968","kind":"vulnerability","title":"qs : qs.stringify with arrayFormat 'comma' throws an uncaught TypeError on array elements carrying a non-callable own toString (DoS)","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-6pq8-jhm2-2vcw","CVE-2026-110816"],"plain_summary":"GitHub lists this reviewed advisory for qs. 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-57ae2e018603970c334fc09321c1e3f1"],"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-29T02:22:33.000Z","value":"5.3 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-507ef9d91b1ae03630c8dc1356e51bb0"},{"kind":"EPSS","as_of":"2026-10-31T12:00:27.000Z","value":"0.368%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.30715. Missing scores are unknown.","source_id":"sr-57ae2e018603970c334fc09321c1e3f1"}],"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-507ef9d91b1ae03630c8dc1356e51bb0","url":"https://github.com/advisories/GHSA-6pq8-jhm2-2vcw","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-6pq8-jhm2-2vcw","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T21:56:08.420Z"},{"id":"sr-57ae2e018603970c334fc09321c1e3f1","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-110816","publisher":"FIRST EPSS","observed_at":"2026-10-31T22:06:15.374Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-507ef9d91b1ae03630c8dc1356e51bb0"],"technology":"qs","known_exclusions":[],"conditions_summary":"## Summary\n\n`qs.stringify(obj, { arrayFormat: 'comma' })` throws an uncaught `TypeError: Cannot convert object to primitive value` when an array in `obj` contains an element that carries an own, non-callable `toString` property (for example `{ a: [ { toString: 'x' } ] }`). A remote, unauthenticated attacker who can influence an object that the application later re-serializes with the comma array format triggers the throw. In a service that lacks a synchronous error boundary around the serialization call, the uncaught exception crashes the worker process, producing a denial of service.\n\n## Root Cause\n\nWhen `arrayFormat: 'comma'` is selected, the comma branch collapses the whole array into a single value via `Array.prototype.join`, or, under `encodeValuesOnly: true`, maps each element through the value encoder before joining. Both paths perform an implicit string coercion (`ToPrimitive` with hint `\"string\"`) on each element. For an object whose own `toString` is a non-callable value, coercion skips the shadowed non-callable `toString`, falls through to `Object.prototype.valueOf` (which returns the object rather than a primitive), and throws. The comma branch runs this coercion before","public_affected_ranges":[">= 6.7.0, <= 6.16.0"]}],"null_published_at":"2026-11-01T01:45:38.514Z","source_updated_at":"2026-10-29T02:22:33.000Z","source_disclosed_at":"2026-10-27T16:10:55.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-10-31T21:56:08.420Z"},{"id":"NVI-00008968","kind":"vulnerability","title":"qs : qs.stringify with arrayFormat 'comma' throws an uncaught TypeError on array elements carrying a non-callable own toString (DoS)","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-6pq8-jhm2-2vcw","CVE-2026-110816"],"plain_summary":"GitHub lists this reviewed advisory for qs. 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-507ef9d91b1ae03630c8dc1356e51bb0"],"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-29T02:22:33.000Z","value":"5.3 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-507ef9d91b1ae03630c8dc1356e51bb0"}],"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-507ef9d91b1ae03630c8dc1356e51bb0","url":"https://github.com/advisories/GHSA-6pq8-jhm2-2vcw","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-6pq8-jhm2-2vcw","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T21:56:08.420Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-507ef9d91b1ae03630c8dc1356e51bb0"],"technology":"qs","known_exclusions":[],"conditions_summary":"## Summary\n\n`qs.stringify(obj, { arrayFormat: 'comma' })` throws an uncaught `TypeError: Cannot convert object to primitive value` when an array in `obj` contains an element that carries an own, non-callable `toString` property (for example `{ a: [ { toString: 'x' } ] }`). A remote, unauthenticated attacker who can influence an object that the application later re-serializes with the comma array format triggers the throw. In a service that lacks a synchronous error boundary around the serialization call, the uncaught exception crashes the worker process, producing a denial of service.\n\n## Root Cause\n\nWhen `arrayFormat: 'comma'` is selected, the comma branch collapses the whole array into a single value via `Array.prototype.join`, or, under `encodeValuesOnly: true`, maps each element through the value encoder before joining. Both paths perform an implicit string coercion (`ToPrimitive` with hint `\"string\"`) on each element. For an object whose own `toString` is a non-callable value, coercion skips the shadowed non-callable `toString`, falls through to `Object.prototype.valueOf` (which returns the object rather than a primitive), and throws. The comma branch runs this coercion before","public_affected_ranges":[">= 6.7.0, <= 6.16.0"]}],"null_published_at":"2026-10-31T22:13:27.124Z","source_updated_at":"2026-10-29T02:22:33.000Z","source_disclosed_at":"2026-10-27T16:10:55.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-10-31T21:56:08.420Z"}],"next_cursor":null,"snapshot_revision":"42594"}