# CVE-2026-105959: Spice-server: spice: heap buffer overflow via glz dictionary max_encoders integer truncation

Status: published. Published: 2026-10-16. Updated: 2026-11-04.

A flaw was found in spice-server. The GLZ encoder dictionary restore path truncates a size_t allocation size to int when calling the malloc callback, allowing a malicious authenticated SPICE client during VM live migration to trigger a massive heap buffer overflow by sending a crafted max_encoders value in migration data.

## Remediation

- workaround: This vulnerability is only exploitable during VM live migration by an authenticated SPICE client. If live migration is not required, disabling it eliminates the attack surface. If live migration is needed, restrict SPICE client connections to trusted networks using firewall rules and enforce strong authentication (TLS with mutual certificate validation, or SASL with strong credentials) to limit who can connect as a SPICE client.

--- CME Mitigation Guidance (2026-10-20) ---
Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure.

The highest-value action is to prevent integer truncation of size_t allocation calculations to int when invoking the GlzEncoderUsrContext::malloc callback in the GLZ dictionary restore path: upgrade to the fixed Spice/Spice Server builds, which prevent truncation of size_t allocation sizes to int when invoking the GLZ dictionary malloc callback, closing all 2 injection vectors (crafted SPICE_MSGC_MIGRATE_DATA message, malicious max_encoders field in GlzEncDictRestoreData). Until patched, this is a concern on 64-bit Linux hosts running SPICE server, so Disable VM live migration if not required, restrict SPICE client access to trusted networks using firewall rules, and enforce strong authentication via SASL or TLS with mutual certificate validation. As a compensating measure, Run SELinux in enforcing mode to confine the SPICE server process domain and restrict unauthorized system access if the heap overflow is exploited. These controls limit blast radius and contain exploitation, but they do not fix the underlying integer truncation defect — apply the upstream patch to fully remediate.

Highest-impact CME: CME-301 SELinux (Enforcing Mode) (medium) (source: CNA: redhat)

## Affected products and versions

- Red Hat / Red Hat Enterprise Linux 6 (spice-server): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Enterprise Linux 7 (spice): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Enterprise Linux 8 (spice): Version range not reported. Source: CNA: redhat

## Severity and prioritization

- CVSS 3.1: 7.5 (high); CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H; source: CNA: redhat

- CVSS 3.1: 7.5 (high); CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H; source: NVD: secalert@redhat.com

- CISA KEV: No listing in collected sources

- EPSS: 0.48% as of 2026-11-04; percentile 41.55%

- SSVC: exploitation none; automatable no; technical impact total; source ADP: CISA-ADP

- Weaknesses: CWE-190

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://access.redhat.com/security/cve/CVE-2026-105959 (CNA: redhat; vdb-entry, x_refsource_REDHAT)

- https://bugzilla.redhat.com/show_bug.cgi?id=2554008 (CNA: redhat; issue-tracking, x_refsource_REDHAT)

- https://gitlab.freedesktop.org/spice/spice/-/merge_requests/253 (CNA: redhat)

- https://access.redhat.com/security/cve/CVE-2026-105959 (secalert@redhat.com)

- https://bugzilla.redhat.com/show_bug.cgi?id=2554008 (secalert@redhat.com)

- https://gitlab.freedesktop.org/spice/spice/-/merge_requests/253 (secalert@redhat.com)

## Provenance

- CNA: redhat: https://www.cve.org/CVERecord?id=CVE-2026-105959; retrieved 2026-11-04; source updated 2026-11-04

- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-105959; retrieved 2026-11-05; source updated 2026-11-04

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-105959; retrieved 2026-11-04; source updated Not reported

Revision: 066ae0099d5239d552392242f3731a27f76f3589cdc5600bc5f2c1746d216787

Canonical: https://y2.dev/cve/CVE-2026-105959

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.