GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

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…

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.

Loading…

Detection rules are retrieved from Rulezet.

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.


Loading…