OESA-2025-1429 (CVE-2025-26594)

Vulnerability from osv_openeuler – Published: 2025-04-18 11:08 – Updated: 2026-08-06 11:08 – Source website
VLAI
Summary
xorg-x11-server security update
Details

X.Org X11 X server

Security Fix(es):

A use-after-free flaw was found in X.Org and Xwayland. The root cursor is referenced in the X server as a global variable. If a client frees the root cursor, the internal reference points to freed memory and causes a use-after-free.(CVE-2025-26594)

A buffer overflow flaw was found in X.Org and Xwayland. The code in XkbVModMaskText() allocates a fixed-sized buffer on the stack and copies the names of the virtual modifiers to that buffer. The code fails to check the bounds of the buffer and would copy the data regardless of the size.(CVE-2025-26595)

A heap overflow flaw was found in X.Org and Xwayland. The computation of the length in XkbSizeKeySyms() differs from what is written in XkbWriteKeySyms(), which may lead to a heap-based buffer overflow.(CVE-2025-26596)

A buffer overflow flaw was found in X.Org and Xwayland. If XkbChangeTypesOfKey() is called with a 0 group, it will resize the key symbols table to 0 but leave the key actions unchanged. If the same function is later called with a non-zero value of groups, this will cause a buffer overflow because the key actions are of the wrong size.(CVE-2025-26597)

An out-of-bounds write flaw was found in X.Org and Xwayland. The function GetBarrierDevice() searches for the pointer device based on its device ID and returns the matching value, or supposedly NULL, if no match was found. However, the code will return the last element of the list if no matching device ID is found, which can lead to out-of-bounds memory access.(CVE-2025-26598)

An access to an uninitialized pointer flaw was found in X.Org and Xwayland. The function compCheckRedirect() may fail if it cannot allocate the backing pixmap. In that case, compRedirectWindow() will return a BadAlloc error without validating the window tree marked just before, which leaves the validated data partly initialized and the use of an uninitialized pointer later.(CVE-2025-26599)

A use-after-free flaw was found in X.Org and Xwayland. When a device is removed while still frozen, the events queued for that device remain while the device is freed. Replaying the events will cause a use-after-free.(CVE-2025-26600)

A use-after-free flaw was found in X.Org and Xwayland. When changing an alarm, the values of the change mask are evaluated one after the other, changing the trigger values as requested, and eventually, SyncInitTrigger() is called. If one of the changes triggers an error, the function will return early, not adding the new sync object, possibly causing a use-after-free when the alarm eventually triggers.(CVE-2025-26601)


{
  "affected": [
    {
      "ecosystem_specific": {
        "aarch64": [
          "xorg-x11-server-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-Xdmx-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-Xephyr-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-Xnest-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-Xvfb-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-common-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-debuginfo-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-debugsource-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-devel-1.20.11-37.oe2403sp1.aarch64.rpm"
        ],
        "noarch": [
          "xorg-x11-server-help-1.20.11-37.oe2403sp1.noarch.rpm",
          "xorg-x11-server-source-1.20.11-37.oe2403sp1.noarch.rpm"
        ],
        "src": [
          "xorg-x11-server-1.20.11-37.oe2403sp1.src.rpm"
        ],
        "x86_64": [
          "xorg-x11-server-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-Xdmx-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-Xephyr-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-Xnest-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-Xvfb-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-common-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-debuginfo-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-debugsource-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-devel-1.20.11-37.oe2403sp1.x86_64.rpm"
        ]
      },
      "package": {
        "ecosystem": "openEuler:24.03-LTS-SP1",
        "name": "xorg-x11-server",
        "purl": "pkg:rpm/openEuler/xorg-x11-server\u0026distro=openEuler-24.03-LTS-SP1"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1.20.11-37.oe2403sp1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "ecosystem_specific": {
        "aarch64": [
          "xorg-x11-server-1.20.8-32.oe2003sp4.aarch64.rpm",
          "xorg-x11-server-Xephyr-1.20.8-32.oe2003sp4.aarch64.rpm",
          "xorg-x11-server-debuginfo-1.20.8-32.oe2003sp4.aarch64.rpm",
          "xorg-x11-server-debugsource-1.20.8-32.oe2003sp4.aarch64.rpm",
          "xorg-x11-server-devel-1.20.8-32.oe2003sp4.aarch64.rpm"
        ],
        "noarch": [
          "xorg-x11-server-help-1.20.8-32.oe2003sp4.noarch.rpm"
        ],
        "src": [
          "xorg-x11-server-1.20.8-32.oe2003sp4.src.rpm"
        ],
        "x86_64": [
          "xorg-x11-server-1.20.8-32.oe2003sp4.x86_64.rpm",
          "xorg-x11-server-Xephyr-1.20.8-32.oe2003sp4.x86_64.rpm",
          "xorg-x11-server-debuginfo-1.20.8-32.oe2003sp4.x86_64.rpm",
          "xorg-x11-server-debugsource-1.20.8-32.oe2003sp4.x86_64.rpm",
          "xorg-x11-server-devel-1.20.8-32.oe2003sp4.x86_64.rpm"
        ]
      },
      "package": {
        "ecosystem": "openEuler:20.03-LTS-SP4",
        "name": "xorg-x11-server",
        "purl": "pkg:rpm/openEuler/xorg-x11-server\u0026distro=openEuler-20.03-LTS-SP4"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1.20.8-32.oe2003sp4"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "ecosystem_specific": {
        "aarch64": [
          "xorg-x11-server-1.20.11-35.oe2203sp3.aarch64.rpm",
          "xorg-x11-server-Xdmx-1.20.11-35.oe2203sp3.aarch64.rpm",
          "xorg-x11-server-Xephyr-1.20.11-35.oe2203sp3.aarch64.rpm",
          "xorg-x11-server-Xnest-1.20.11-35.oe2203sp3.aarch64.rpm",
          "xorg-x11-server-Xvfb-1.20.11-35.oe2203sp3.aarch64.rpm",
          "xorg-x11-server-common-1.20.11-35.oe2203sp3.aarch64.rpm",
          "xorg-x11-server-debuginfo-1.20.11-35.oe2203sp3.aarch64.rpm",
          "xorg-x11-server-debugsource-1.20.11-35.oe2203sp3.aarch64.rpm",
          "xorg-x11-server-devel-1.20.11-35.oe2203sp3.aarch64.rpm"
        ],
        "noarch": [
          "xorg-x11-server-help-1.20.11-35.oe2203sp3.noarch.rpm",
          "xorg-x11-server-source-1.20.11-35.oe2203sp3.noarch.rpm"
        ],
        "src": [
          "xorg-x11-server-1.20.11-35.oe2203sp3.src.rpm"
        ],
        "x86_64": [
          "xorg-x11-server-1.20.11-35.oe2203sp3.x86_64.rpm",
          "xorg-x11-server-Xdmx-1.20.11-35.oe2203sp3.x86_64.rpm",
          "xorg-x11-server-Xephyr-1.20.11-35.oe2203sp3.x86_64.rpm",
          "xorg-x11-server-Xnest-1.20.11-35.oe2203sp3.x86_64.rpm",
          "xorg-x11-server-Xvfb-1.20.11-35.oe2203sp3.x86_64.rpm",
          "xorg-x11-server-common-1.20.11-35.oe2203sp3.x86_64.rpm",
          "xorg-x11-server-debuginfo-1.20.11-35.oe2203sp3.x86_64.rpm",
          "xorg-x11-server-debugsource-1.20.11-35.oe2203sp3.x86_64.rpm",
          "xorg-x11-server-devel-1.20.11-35.oe2203sp3.x86_64.rpm"
        ]
      },
      "package": {
        "ecosystem": "openEuler:22.03-LTS-SP3",
        "name": "xorg-x11-server",
        "purl": "pkg:rpm/openEuler/xorg-x11-server\u0026distro=openEuler-22.03-LTS-SP3"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1.20.11-35.oe2203sp3"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "ecosystem_specific": {
        "aarch64": [
          "xorg-x11-server-1.20.11-35.oe2203sp4.aarch64.rpm",
          "xorg-x11-server-Xdmx-1.20.11-35.oe2203sp4.aarch64.rpm",
          "xorg-x11-server-Xephyr-1.20.11-35.oe2203sp4.aarch64.rpm",
          "xorg-x11-server-Xnest-1.20.11-35.oe2203sp4.aarch64.rpm",
          "xorg-x11-server-Xvfb-1.20.11-35.oe2203sp4.aarch64.rpm",
          "xorg-x11-server-common-1.20.11-35.oe2203sp4.aarch64.rpm",
          "xorg-x11-server-debuginfo-1.20.11-35.oe2203sp4.aarch64.rpm",
          "xorg-x11-server-debugsource-1.20.11-35.oe2203sp4.aarch64.rpm",
          "xorg-x11-server-devel-1.20.11-35.oe2203sp4.aarch64.rpm"
        ],
        "noarch": [
          "xorg-x11-server-help-1.20.11-35.oe2203sp4.noarch.rpm",
          "xorg-x11-server-source-1.20.11-35.oe2203sp4.noarch.rpm"
        ],
        "src": [
          "xorg-x11-server-1.20.11-35.oe2203sp4.src.rpm"
        ],
        "x86_64": [
          "xorg-x11-server-1.20.11-35.oe2203sp4.x86_64.rpm",
          "xorg-x11-server-Xdmx-1.20.11-35.oe2203sp4.x86_64.rpm",
          "xorg-x11-server-Xephyr-1.20.11-35.oe2203sp4.x86_64.rpm",
          "xorg-x11-server-Xnest-1.20.11-35.oe2203sp4.x86_64.rpm",
          "xorg-x11-server-Xvfb-1.20.11-35.oe2203sp4.x86_64.rpm",
          "xorg-x11-server-common-1.20.11-35.oe2203sp4.x86_64.rpm",
          "xorg-x11-server-debuginfo-1.20.11-35.oe2203sp4.x86_64.rpm",
          "xorg-x11-server-debugsource-1.20.11-35.oe2203sp4.x86_64.rpm",
          "xorg-x11-server-devel-1.20.11-35.oe2203sp4.x86_64.rpm"
        ]
      },
      "package": {
        "ecosystem": "openEuler:22.03-LTS-SP4",
        "name": "xorg-x11-server",
        "purl": "pkg:rpm/openEuler/xorg-x11-server\u0026distro=openEuler-22.03-LTS-SP4"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1.20.11-35.oe2203sp4"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "ecosystem_specific": {
        "aarch64": [
          "xorg-x11-server-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-Xdmx-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-Xephyr-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-Xnest-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-Xvfb-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-common-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-debuginfo-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-debugsource-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-devel-1.20.11-37.oe2403sp1.aarch64.rpm",
          "xorg-x11-server-1.20.11-37.oe2403.aarch64.rpm",
          "xorg-x11-server-Xdmx-1.20.11-37.oe2403.aarch64.rpm",
          "xorg-x11-server-Xephyr-1.20.11-37.oe2403.aarch64.rpm",
          "xorg-x11-server-Xnest-1.20.11-37.oe2403.aarch64.rpm",
          "xorg-x11-server-Xvfb-1.20.11-37.oe2403.aarch64.rpm",
          "xorg-x11-server-common-1.20.11-37.oe2403.aarch64.rpm",
          "xorg-x11-server-debuginfo-1.20.11-37.oe2403.aarch64.rpm",
          "xorg-x11-server-debugsource-1.20.11-37.oe2403.aarch64.rpm",
          "xorg-x11-server-devel-1.20.11-37.oe2403.aarch64.rpm"
        ],
        "noarch": [
          "xorg-x11-server-help-1.20.11-37.oe2403sp1.noarch.rpm",
          "xorg-x11-server-source-1.20.11-37.oe2403sp1.noarch.rpm",
          "xorg-x11-server-help-1.20.11-37.oe2403.noarch.rpm",
          "xorg-x11-server-source-1.20.11-37.oe2403.noarch.rpm"
        ],
        "src": [
          "xorg-x11-server-1.20.11-37.oe2403sp1.src.rpm",
          "xorg-x11-server-1.20.11-37.oe2403.src.rpm"
        ],
        "x86_64": [
          "xorg-x11-server-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-Xdmx-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-Xephyr-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-Xnest-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-Xvfb-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-common-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-debuginfo-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-debugsource-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-devel-1.20.11-37.oe2403sp1.x86_64.rpm",
          "xorg-x11-server-1.20.11-37.oe2403.x86_64.rpm",
          "xorg-x11-server-Xdmx-1.20.11-37.oe2403.x86_64.rpm",
          "xorg-x11-server-Xephyr-1.20.11-37.oe2403.x86_64.rpm",
          "xorg-x11-server-Xnest-1.20.11-37.oe2403.x86_64.rpm",
          "xorg-x11-server-Xvfb-1.20.11-37.oe2403.x86_64.rpm",
          "xorg-x11-server-common-1.20.11-37.oe2403.x86_64.rpm",
          "xorg-x11-server-debuginfo-1.20.11-37.oe2403.x86_64.rpm",
          "xorg-x11-server-debugsource-1.20.11-37.oe2403.x86_64.rpm",
          "xorg-x11-server-devel-1.20.11-37.oe2403.x86_64.rpm"
        ]
      },
      "package": {
        "ecosystem": "openEuler:24.03-LTS",
        "name": "xorg-x11-server",
        "purl": "pkg:rpm/openEuler/xorg-x11-server\u0026distro=openEuler-24.03-LTS"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1.20.11-37.oe2403"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "severity": "High"
  },
  "details": "X.Org X11 X server\r\n\r\nSecurity Fix(es):\n\nA use-after-free flaw was found in X.Org and Xwayland. The root cursor is referenced in the X server as a global variable. If a client frees the root cursor, the internal reference points to freed memory and causes a use-after-free.(CVE-2025-26594)\n\nA buffer overflow flaw was found in X.Org and Xwayland. The code in XkbVModMaskText() allocates a fixed-sized buffer on the stack and copies the names of the virtual modifiers to that buffer. The code fails to check the bounds of the buffer and would copy the data regardless of the size.(CVE-2025-26595)\n\nA heap overflow flaw was found in X.Org and Xwayland. The computation of the length in XkbSizeKeySyms() differs from what is written in XkbWriteKeySyms(), which may lead to a heap-based buffer overflow.(CVE-2025-26596)\n\nA buffer overflow flaw was found in X.Org and Xwayland. If XkbChangeTypesOfKey() is called with a 0 group, it will resize the key symbols table to 0 but leave the key actions unchanged. If the same function is later called with a non-zero value of groups, this will cause a buffer overflow because the key actions are of the wrong size.(CVE-2025-26597)\n\nAn out-of-bounds write flaw was found in X.Org and Xwayland. The function GetBarrierDevice() searches for the pointer device based on its device ID and returns the matching value, or supposedly NULL, if no match was found. However, the code will return the last element of the list if no matching device ID is found, which can lead to out-of-bounds memory access.(CVE-2025-26598)\n\nAn access to an uninitialized pointer flaw was found in X.Org and Xwayland. The function compCheckRedirect() may fail if it cannot allocate the backing pixmap. In that case, compRedirectWindow() will return a BadAlloc error without validating the window tree marked just before, which leaves the validated data partly initialized and the use of an uninitialized pointer later.(CVE-2025-26599)\n\nA use-after-free flaw was found in X.Org and Xwayland. When a device is removed while still frozen, the events queued for that device remain while the device is freed. Replaying the events will cause a use-after-free.(CVE-2025-26600)\n\nA use-after-free flaw was found in X.Org and Xwayland. When changing an alarm, the values of the change mask are evaluated one after the other, changing the trigger values as requested, and eventually, SyncInitTrigger() is called. If one of the changes triggers an error, the function will return early, not adding the new sync object, possibly causing a use-after-free when the alarm eventually triggers.(CVE-2025-26601)",
  "id": "OESA-2025-1429",
  "modified": "2026-08-06T11:08:31Z",
  "published": "2025-04-18T11:08:31Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2025-1429"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-26594"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-26595"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-26596"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-26597"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-26598"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-26599"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-26600"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-26601"
    }
  ],
  "schema_version": "1.7.2",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "xorg-x11-server security update",
  "upstream": [
    "CVE-2025-26594",
    "CVE-2025-26595",
    "CVE-2025-26596",
    "CVE-2025-26597",
    "CVE-2025-26598",
    "CVE-2025-26599",
    "CVE-2025-26600",
    "CVE-2025-26601"
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
How durations are calculated

Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.

Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.

Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.