Skip to content
Heist/ feed
Back to feed
UnratedFix available

Fix CVE(s): CVE-2026-66046, CVE-2026-93990

Type: advisorySources: OSV

* SECURITY UPDATE: quadratic runtime in the default-attribute lookup of storeAtts(), and an out-of-bounds read in the same lookup for parsers created by XML_ExternalEntityParserCreate() - debian/patches/CVE-2026-66046.patch: in lib/xmlparse.c, replace the linear scan over ELEMENT_TYPE.defaultAtts in storeAtts() with a lookup in the already-present defaultAttForName hash table, and make dtdCopy() create NAME_AND_DEFAULT_ATTRIBUTE-sized entries so storeAtts() no longer reads member .attIndex past the end of an entry. - CVE-2026-66046 * SECURITY UPDATE: a UTF-16 high surrogate not followed by a low surrogate was accepted, letting the high surrogate swallow the following code unit and hide it from the tokenizer - debian/patches/CVE-2026-93990.patch: in lib/xmltok.c, add LITTLE2_IS_INVALID_CHAR() / BIG2_IS_INVALID_CHAR() and wire them into IS_INVALID_CHAR() for the little2_/big2_ tokenizers, so INVALID_LEAD_CASE() in lib/xmltok_impl.c rejects a 4-byte UTF-16 character whose second code unit is not U+DC00..U+DFFF; drop the now unreachable IS_INVALID_CHAR() no-op fallback in lib/xmltok_impl.c. - CVE-2026-93990

Products
expat, libexpat1, libexpat1-dev
Affected versions
Not specified
Fixed versions
2.1.0-7ubuntu0.16.04.5+tuxcare.els14
CVEs
CVE-2026-66046, CVE-2026-93990
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 11:39 UTC · Revision 1

Source evidence

Fix CVE(s): CVE-2026-66046, CVE-2026-93990

core-osv · Original source

Published 24 Sept 2026, 11:11 UTC

* SECURITY UPDATE: quadratic runtime in the default-attribute lookup of storeAtts(), and an out-of-bounds read in the same lookup for parsers created by XML_ExternalEntityParserCreate() - debian/patches/CVE-2026-66046.patch: in lib/xmlparse.c, replace the linear scan over ELEMENT_TYPE.defaultAtts in storeAtts() with a lookup in the already-present defaultAttForName hash table, and make dtdCopy() create NAME_AND_DEFAULT_ATTRIBUTE-sized entries so storeAtts() no longer reads member .attIndex past the end of an entry. - CVE-2026-66046 * SECURITY UPDATE: a UTF-16 high surrogate not followed by a low surrogate was accepted, letting the high surrogate swallow the following code unit and hide it from the tokenizer - debian/patches/CVE-2026-93990.patch: in lib/xmltok.c, add LITTLE2_IS_INVALID_CHAR() / BIG2_IS_INVALID_CHAR() and wire them into IS_INVALID_CHAR() for the little2_/big2_ tokenizers, so INVALID_LEAD_CASE() in lib/xmltok_impl.c rejects a 4-byte UTF-16 character whose second code unit is not U+DC00..U+DFFF; drop the now unreachable IS_INVALID_CHAR() no-op fallback in lib/xmltok_impl.c. - CVE-2026-93990

osv:CLSA-2026-1790248267

expat

Fixed versions: 2.1.0-7ubuntu0.16.04.5+tuxcare.els14

libexpat1

Fixed versions: 2.1.0-7ubuntu0.16.04.5+tuxcare.els14

libexpat1-dev

Fixed versions: 2.1.0-7ubuntu0.16.04.5+tuxcare.els14

Complete source record
{
  "id": "0d05461ffb42639cf745dda79cf1dbecf9257f995c9426b9677ae77c421be4a6",
  "url": "https://osv.dev/vulnerability/CLSA-2026-1790248267",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Fix CVE(s): CVE-2026-66046, CVE-2026-93990",
    "summary": "* SECURITY UPDATE: quadratic runtime in the default-attribute lookup of storeAtts(), and an out-of-bounds read in the same lookup for parsers created by XML_ExternalEntityParserCreate() - debian/patches/CVE-2026-66046.patch: in lib/xmlparse.c, replace the linear scan over ELEMENT_TYPE.defaultAtts in storeAtts() with a lookup in the already-present defaultAttForName hash table, and make dtdCopy() create NAME_AND_DEFAULT_ATTRIBUTE-sized entries so storeAtts() no longer reads member .attIndex past the end of an entry. - CVE-2026-66046 * SECURITY UPDATE: a UTF-16 high surrogate not followed by a low surrogate was accepted, letting the high surrogate swallow the following code unit and hide it from the tokenizer - debian/patches/CVE-2026-93990.patch: in lib/xmltok.c, add LITTLE2_IS_INVALID_CHAR() / BIG2_IS_INVALID_CHAR() and wire them into IS_INVALID_CHAR() for the little2_/big2_ tokenizers, so INVALID_LEAD_CASE() in lib/xmltok_impl.c rejects a 4-byte UTF-16 character whose second code unit is not U+DC00..U+DFFF; drop the now unreachable IS_INVALID_CHAR() no-op fallback in lib/xmltok_impl.c. - CVE-2026-93990",
    "evidence": "osv:CLSA-2026-1790248267",
    "products": [
      {
        "name": {
          "value": "expat",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "2.1.0-7ubuntu0.16.04.5+tuxcare.els14",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "libexpat1",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "2.1.0-7ubuntu0.16.04.5+tuxcare.els14",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "libexpat1-dev",
          "evidence": "/affected/2/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "2.1.0-7ubuntu0.16.04.5+tuxcare.els14",
            "evidence": "/affected/2/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CLSA-2026-1790248267",
      "aliases": [
        "CLSA-2026-1790248267"
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "2.1.0-7ubuntu0.16.04.5+tuxcare.els14"
                }
              ]
            }
          ],
          "package": {
            "name": "expat",
            "purl": "pkg:deb/tuxcare/expat?distro=ubuntu-16.04",
            "ecosystem": "TuxCare:Ubuntu:16.04"
          },
          "database_specific": {
            "source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1790248267.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "2.1.0-7ubuntu0.16.04.5+tuxcare.els14"
                }
              ]
            }
          ],
          "package": {
            "name": "libexpat1",
            "purl": "pkg:deb/tuxcare/libexpat1?distro=ubuntu-16.04",
            "ecosystem": "TuxCare:Ubuntu:16.04"
          },
          "database_specific": {
            "source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1790248267.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "2.1.0-7ubuntu0.16.04.5+tuxcare.els14"
                }
              ]
            }
          ],
          "package": {
            "name": "libexpat1-dev",
            "purl": "pkg:deb/tuxcare/libexpat1-dev?distro=ubuntu-16.04",
            "ecosystem": "TuxCare:Ubuntu:16.04"
          },
          "database_specific": {
            "source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1790248267.json"
          }
        }
      ],
      "modified": "2026-10-26T09:32:02.167836224Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-66046",
        "CVE-2026-93990"
      ],
      "references": [
        "https://errata.tuxcare.com/els_os/ubuntu16.04els/CLSA-2026-1790248267.html",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-66046",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-93990"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-66046",
        "evidence": "/upstream"
      },
      {
        "value": "CVE-2026-93990",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 449427,
  "published_at": "2026-09-24T11:11:19+00:00"
}