{
    "summary": {
        "snap": {
            "added": [],
            "removed": [],
            "diff": []
        },
        "deb": {
            "added": [
                "linux-image-6.8.0-142-generic",
                "linux-modules-6.8.0-142-generic"
            ],
            "removed": [
                "linux-image-6.8.0-139-generic",
                "linux-modules-6.8.0-139-generic"
            ],
            "diff": [
                "apparmor",
                "base-files",
                "dmidecode",
                "gir1.2-glib-2.0",
                "libapparmor1",
                "libaudit-common",
                "libaudit1",
                "libc-bin",
                "libc6",
                "libexpat1",
                "libglib2.0-0t64",
                "libgssapi-krb5-2",
                "libk5crypto3",
                "libkrb5-3",
                "libkrb5support0",
                "libnetplan1",
                "libpython3.12-minimal",
                "libpython3.12-stdlib",
                "libsqlite3-0",
                "linux-image-virtual",
                "netplan-generator",
                "netplan.io",
                "perl-base",
                "python-apt-common",
                "python3-apt",
                "python3-distupgrade",
                "python3-netplan",
                "python3.12",
                "python3.12-minimal",
                "sudo",
                "ubuntu-release-upgrader-core"
            ]
        }
    },
    "diff": {
        "deb": [
            {
                "name": "apparmor",
                "from_version": {
                    "source_package_name": "apparmor",
                    "source_package_version": "4.0.1really4.0.1-0ubuntu0.24.04.7",
                    "version": "4.0.1really4.0.1-0ubuntu0.24.04.7"
                },
                "to_version": {
                    "source_package_name": "apparmor",
                    "source_package_version": "4.0.1really4.0.1-0ubuntu0.24.04.8",
                    "version": "4.0.1really4.0.1-0ubuntu0.24.04.8"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2162134
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Don't add mediation classes to unconfined profiles (LP: #2162134)",
                            "    - d/p/u/parser-dont-add-mediation-classes-to-unconfined.patch",
                            ""
                        ],
                        "package": "apparmor",
                        "version": "4.0.1really4.0.1-0ubuntu0.24.04.8",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2162134
                        ],
                        "author": "Taichi Maeda <taichi.maeda@canonical.com>",
                        "date": "Fri, 31 Jul 2026 12:50:22 +0900"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "base-files",
                "from_version": {
                    "source_package_name": "base-files",
                    "source_package_version": "13ubuntu10.4",
                    "version": "13ubuntu10.4"
                },
                "to_version": {
                    "source_package_name": "base-files",
                    "source_package_version": "13ubuntu10.5",
                    "version": "13ubuntu10.5"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2166604
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * /etc/issue{,.net}, /etc/{lsb,os}-release: bump version to 24.04.5",
                            "    (LP: #2166604)",
                            ""
                        ],
                        "package": "base-files",
                        "version": "13ubuntu10.5",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2166604
                        ],
                        "author": "Graham Inggs <ginggs@ubuntu.com>",
                        "date": "Sun, 06 Sep 2026 14:29:43 +0000"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "dmidecode",
                "from_version": {
                    "source_package_name": "dmidecode",
                    "source_package_version": "3.5-3ubuntu0.1",
                    "version": "3.5-3ubuntu0.1"
                },
                "to_version": {
                    "source_package_name": "dmidecode",
                    "source_package_version": "3.5-3ubuntu0.2",
                    "version": "3.5-3ubuntu0.2"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2148318
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Display slot ID for more slot types and EDSFF (LP: #2148318)",
                            "    - d/p/lp-2148318-1-dmidecode-Display-slot-information-for-EDSFF.patch",
                            "    - d/p/lp-2148318-2-dmidecode-Display-the-slot-ID-for-more-slot-types.patch",
                            ""
                        ],
                        "package": "dmidecode",
                        "version": "3.5-3ubuntu0.2",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2148318
                        ],
                        "author": "Mitchell Augustin <mitchell.augustin@canonical.com>",
                        "date": "Thu, 02 Jul 2026 11:58:32 -0500"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "gir1.2-glib-2.0",
                "from_version": {
                    "source_package_name": "glib2.0",
                    "source_package_version": "2.80.0-6ubuntu3.8",
                    "version": "2.80.0-6ubuntu3.8"
                },
                "to_version": {
                    "source_package_name": "glib2.0",
                    "source_package_version": "2.80.0-6ubuntu3.9",
                    "version": "2.80.0-6ubuntu3.9"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-58010",
                        "url": "https://ubuntu.com/security/CVE-2026-58010",
                        "cve_description": "A flaw was found in GLib. An off-by-one error can occur in the gvs_tuple_is_normal function in the glib/gvariant-serialiser.c file when doing an alignment padding check because the bounds check uses > instead of >=, causing an out-of-bounds read of only 1 byte. This issue can cause a minor information disclosure of 1 byte and a denial of service when the out-of-bounds read crosses a page boundary.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-58011",
                        "url": "https://ubuntu.com/security/CVE-2026-58011",
                        "cve_description": "A flaw was found in GLib. An out-of-bounds read of only 2 bytes can occur in the g_date_time_get_ymd function in the glib/gdatetime.c file when an invalid GDateTime object produced by the g_date_time_add_full function is processed. This flaw can corrupt the date output and potentially cause logic errors that may lead to a denial of service.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-58012",
                        "url": "https://ubuntu.com/security/CVE-2026-58012",
                        "cve_description": "A flaw was found in GLib. A buffer over-read can occur in the g_regex_replace function when used with the `G_REGEX_RAW` compile flag and case-change replacement escapes because the string_append function processes matched substrings using UTF-8 functions that assume valid UTF-8 input, even when the string is treated as raw bytes. This vulnerability can cause a minor information disclosure of 1-5 bytes and a denial of service when the buffer over-read crosses a page boundary.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-58013",
                        "url": "https://ubuntu.com/security/CVE-2026-58013",
                        "cve_description": "A flaw was found in GLib. A buffer over-read can occur in g_io_channel_read_line_backend() in the giochannel.c file when a custom line terminator with a length greater than one is set, causing memcmp to read past the GString buffer. This vulnerability can cause a minor information disclosure of 7 bytes or a denial of service when the buffer over-read crosses a page boundary.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-58014",
                        "url": "https://ubuntu.com/security/CVE-2026-58014",
                        "cve_description": "A flaw was found in GLib. An off-by-one error can occur in the g_key_file_get_locale_string_list function in the gkeyfile.c file when loading a key file with an empty value. This flaw can cause an out-of-bounds access of 1 byte or a denial of service when the out-of-bounds access crosses a page boundary.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-58015",
                        "url": "https://ubuntu.com/security/CVE-2026-58015",
                        "cve_description": "A flaw was found in GLib. The D-Bus client-side implementation of the DBUS_COOKIE_SHA1 SASL authentication mechanism does not validate the cookie_context parameter received from the server. A malicious D-Bus server can supply a cookie_context containing path traversal sequences, causing the client to read an arbitrary file and exfiltrate sensitive data by verifying guessed file contents against a generated hash.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-58016",
                        "url": "https://ubuntu.com/security/CVE-2026-58016",
                        "cve_description": "A flaw was found in GLib. A state confusion issue exists in g_dbus_node_info_new_for_xml() in the gio/gdbusintrospection.c file when processing malformed D-Bus introspection XML, specifically with a `node` element nested within other elements like `method`, `signal`, `property` or `arg`. This issue can cause an unsigned integer overflow and lead to an out-of-bounds read, resulting in a denial of service.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-15588",
                        "url": "https://ubuntu.com/security/CVE-2026-15588",
                        "cve_description": "A denial-of-service and resource exhaustion vulnerability exists within the `GDBus` component of GLib. The `gdbusauth` authentication mechanism fails to enforce proper length limitations on data lines read from a client. An unauthenticated local or remote attacker can exploit this lack of input validation by sending excessively long streams of data, causing the application to consume massive amounts of system memory and CPU, potentially leading to a crash or system hang.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-20 12:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-16118",
                        "url": "https://ubuntu.com/security/CVE-2026-16118",
                        "cve_description": "A flaw was found in xdgmime. A heap-based buffer overflow can be triggered in _xdg_mime_magic_parse_magic_line() in the xdgmimemagic.c file on little-endian systems when an attacker-controlled MIME magic file in a user-writable XDG data location (e.g., in the $XDG_DATA_HOME/mime/magic path) is parsed by an application performing MIME type detection (e.g., via g_content_type_guess()). When performing byte-swap, incorrect pointer arithmetic on the write side causes an out-of-bounds write of 2 bytes, resulting in an application crash or memory corruption.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-17 20:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-58010",
                                "url": "https://ubuntu.com/security/CVE-2026-58010",
                                "cve_description": "A flaw was found in GLib. An off-by-one error can occur in the gvs_tuple_is_normal function in the glib/gvariant-serialiser.c file when doing an alignment padding check because the bounds check uses > instead of >=, causing an out-of-bounds read of only 1 byte. This issue can cause a minor information disclosure of 1 byte and a denial of service when the out-of-bounds read crosses a page boundary.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-58011",
                                "url": "https://ubuntu.com/security/CVE-2026-58011",
                                "cve_description": "A flaw was found in GLib. An out-of-bounds read of only 2 bytes can occur in the g_date_time_get_ymd function in the glib/gdatetime.c file when an invalid GDateTime object produced by the g_date_time_add_full function is processed. This flaw can corrupt the date output and potentially cause logic errors that may lead to a denial of service.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-58012",
                                "url": "https://ubuntu.com/security/CVE-2026-58012",
                                "cve_description": "A flaw was found in GLib. A buffer over-read can occur in the g_regex_replace function when used with the `G_REGEX_RAW` compile flag and case-change replacement escapes because the string_append function processes matched substrings using UTF-8 functions that assume valid UTF-8 input, even when the string is treated as raw bytes. This vulnerability can cause a minor information disclosure of 1-5 bytes and a denial of service when the buffer over-read crosses a page boundary.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-58013",
                                "url": "https://ubuntu.com/security/CVE-2026-58013",
                                "cve_description": "A flaw was found in GLib. A buffer over-read can occur in g_io_channel_read_line_backend() in the giochannel.c file when a custom line terminator with a length greater than one is set, causing memcmp to read past the GString buffer. This vulnerability can cause a minor information disclosure of 7 bytes or a denial of service when the buffer over-read crosses a page boundary.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-58014",
                                "url": "https://ubuntu.com/security/CVE-2026-58014",
                                "cve_description": "A flaw was found in GLib. An off-by-one error can occur in the g_key_file_get_locale_string_list function in the gkeyfile.c file when loading a key file with an empty value. This flaw can cause an out-of-bounds access of 1 byte or a denial of service when the out-of-bounds access crosses a page boundary.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-58015",
                                "url": "https://ubuntu.com/security/CVE-2026-58015",
                                "cve_description": "A flaw was found in GLib. The D-Bus client-side implementation of the DBUS_COOKIE_SHA1 SASL authentication mechanism does not validate the cookie_context parameter received from the server. A malicious D-Bus server can supply a cookie_context containing path traversal sequences, causing the client to read an arbitrary file and exfiltrate sensitive data by verifying guessed file contents against a generated hash.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-58016",
                                "url": "https://ubuntu.com/security/CVE-2026-58016",
                                "cve_description": "A flaw was found in GLib. A state confusion issue exists in g_dbus_node_info_new_for_xml() in the gio/gdbusintrospection.c file when processing malformed D-Bus introspection XML, specifically with a `node` element nested within other elements like `method`, `signal`, `property` or `arg`. This issue can cause an unsigned integer overflow and lead to an out-of-bounds read, resulting in a denial of service.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-15588",
                                "url": "https://ubuntu.com/security/CVE-2026-15588",
                                "cve_description": "A denial-of-service and resource exhaustion vulnerability exists within the `GDBus` component of GLib. The `gdbusauth` authentication mechanism fails to enforce proper length limitations on data lines read from a client. An unauthenticated local or remote attacker can exploit this lack of input validation by sending excessively long streams of data, causing the application to consume massive amounts of system memory and CPU, potentially leading to a crash or system hang.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-20 12:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-16118",
                                "url": "https://ubuntu.com/security/CVE-2026-16118",
                                "cve_description": "A flaw was found in xdgmime. A heap-based buffer overflow can be triggered in _xdg_mime_magic_parse_magic_line() in the xdgmimemagic.c file on little-endian systems when an attacker-controlled MIME magic file in a user-writable XDG data location (e.g., in the $XDG_DATA_HOME/mime/magic path) is parsed by an application performing MIME type detection (e.g., via g_content_type_guess()). When performing byte-swap, incorrect pointer arithmetic on the write side causes an out-of-bounds write of 2 bytes, resulting in an application crash or memory corruption.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-17 20:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: off-by-one OOB read in GVariant serialiser",
                            "    - debian/patches/CVE-2026-58010.patch: fix bounds check to use >= instead",
                            "      of > in gvs_tuple_is_normal() in glib/gvariant-serialiser.c.",
                            "    - CVE-2026-58010",
                            "  * SECURITY UPDATE: OOB read in GDateTime",
                            "    - debian/patches/CVE-2026-58011.patch: add missing range validation to",
                            "      g_date_time_add_full() in glib/gdatetime.c.",
                            "    - CVE-2026-58011",
                            "  * SECURITY UPDATE: buffer over-read in g_regex_replace",
                            "    - debian/patches/CVE-2026-58012.patch: fix case-change substitution",
                            "      handling with G_REGEX_RAW in glib/gregex.c.",
                            "    - CVE-2026-58012",
                            "  * SECURITY UPDATE: buffer over-read in GIOChannel",
                            "    - debian/patches/CVE-2026-58013.patch: add length check before memcmp",
                            "      in g_io_channel_read_line_backend() in glib/giochannel.c.",
                            "    - CVE-2026-58013",
                            "  * SECURITY UPDATE: off-by-one heap under-read in GKeyFile",
                            "    - debian/patches/CVE-2026-58014.patch: add len > 0 check before",
                            "      accessing value[len-1] in g_key_file_get_locale_string_list() in",
                            "      glib/gkeyfile.c.",
                            "    - CVE-2026-58014",
                            "  * SECURITY UPDATE: path traversal in DBUS_COOKIE_SHA1 auth",
                            "    - debian/patches/CVE-2026-58015.patch: validate cookie_context parameter",
                            "      to prevent path traversal in gio/gdbusauthmechanismsha1.c.",
                            "    - CVE-2026-58015",
                            "  * SECURITY UPDATE: state confusion in D-Bus introspection XML parser",
                            "    - debian/patches/CVE-2026-58016.patch: fix node element nesting check",
                            "      and add assertions in gio/gdbusintrospection.c.",
                            "    - CVE-2026-58016",
                            "  * SECURITY UPDATE: resource exhaustion in GDBus authentication",
                            "    - debian/patches/CVE-2026-15588.patch: limit length of lines read from",
                            "      client in gio/gdbusauth.c.",
                            "    - CVE-2026-15588",
                            "  * SECURITY UPDATE: heap buffer overflow in xdgmime",
                            "    - debian/patches/CVE-2026-16118.patch: fix pointer arithmetic in",
                            "      byte-swap routine in gio/xdgmime/xdgmimemagic.c.",
                            "    - CVE-2026-16118",
                            ""
                        ],
                        "package": "glib2.0",
                        "version": "2.80.0-6ubuntu3.9",
                        "urgency": "medium",
                        "distributions": "noble-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Leonidas Da Silva Barbosa <leo.barbosa@canonical.com>",
                        "date": "Tue, 08 Sep 2026 14:07:47 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libapparmor1",
                "from_version": {
                    "source_package_name": "apparmor",
                    "source_package_version": "4.0.1really4.0.1-0ubuntu0.24.04.7",
                    "version": "4.0.1really4.0.1-0ubuntu0.24.04.7"
                },
                "to_version": {
                    "source_package_name": "apparmor",
                    "source_package_version": "4.0.1really4.0.1-0ubuntu0.24.04.8",
                    "version": "4.0.1really4.0.1-0ubuntu0.24.04.8"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2162134
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Don't add mediation classes to unconfined profiles (LP: #2162134)",
                            "    - d/p/u/parser-dont-add-mediation-classes-to-unconfined.patch",
                            ""
                        ],
                        "package": "apparmor",
                        "version": "4.0.1really4.0.1-0ubuntu0.24.04.8",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2162134
                        ],
                        "author": "Taichi Maeda <taichi.maeda@canonical.com>",
                        "date": "Fri, 31 Jul 2026 12:50:22 +0900"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libaudit-common",
                "from_version": {
                    "source_package_name": "audit",
                    "source_package_version": "1:3.1.2-2.1build1.1",
                    "version": "1:3.1.2-2.1build1.1"
                },
                "to_version": {
                    "source_package_name": "audit",
                    "source_package_version": "1:3.1.2-2.1ubuntu0.1",
                    "version": "1:3.1.2-2.1ubuntu0.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    1117804
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Fix AppArmor AVC events not appearing in `ausearch` (LP: #1117804)",
                            "    - d/p/lp1117804-audit-ausearch-do-not-require-tclass.patch",
                            ""
                        ],
                        "package": "audit",
                        "version": "1:3.1.2-2.1ubuntu0.1",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            1117804
                        ],
                        "author": "Alex Ramírez <alex.ramirez@canonical.com>",
                        "date": "Mon, 13 Jul 2026 20:10:31 +0000"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libaudit1",
                "from_version": {
                    "source_package_name": "audit",
                    "source_package_version": "1:3.1.2-2.1build1.1",
                    "version": "1:3.1.2-2.1build1.1"
                },
                "to_version": {
                    "source_package_name": "audit",
                    "source_package_version": "1:3.1.2-2.1ubuntu0.1",
                    "version": "1:3.1.2-2.1ubuntu0.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    1117804
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Fix AppArmor AVC events not appearing in `ausearch` (LP: #1117804)",
                            "    - d/p/lp1117804-audit-ausearch-do-not-require-tclass.patch",
                            ""
                        ],
                        "package": "audit",
                        "version": "1:3.1.2-2.1ubuntu0.1",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            1117804
                        ],
                        "author": "Alex Ramírez <alex.ramirez@canonical.com>",
                        "date": "Mon, 13 Jul 2026 20:10:31 +0000"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libc-bin",
                "from_version": {
                    "source_package_name": "glibc",
                    "source_package_version": "2.39-0ubuntu8.8",
                    "version": "2.39-0ubuntu8.8"
                },
                "to_version": {
                    "source_package_name": "glibc",
                    "source_package_version": "2.39-0ubuntu8.9",
                    "version": "2.39-0ubuntu8.9"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-19499",
                        "url": "https://ubuntu.com/security/CVE-2026-19499",
                        "cve_description": "Calling strfmon and strfmon_l in the GNU C Library version 2.38 to 2.44 can write past the end of the caller-supplied output buffer when a conversion uses right-justified width padding.  Exploitation requires an application code path that calls strfmon or strfmon_l with right-justified width padding into a destination buffer that is large enough for the padding to succeed but too small for the internal memmove call. The field width or format may be attacker-influenced or a fixed susceptible pattern in the caller.  At the time of publication, no network-facing application impact is known.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-09-14 18:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-19542",
                        "url": "https://ubuntu.com/security/CVE-2026-19542",
                        "cve_description": "Calling tdelete on a sufficiently deep tree in the GNU C Library version 2.1 to 2.44 may write one pointer past the end of an alloca-allocated array on the stack, which may crash the application.  The tdelete implementation keeps an explicit stack of parent nodes for rebalancing, which is grown as needed while descending the tree.  Two rebalancing branches push an additional entry without checking the capacity, and write past the array when the stack is exactly full. Triggering this requires a node at a depth of exactly 40 (or 40 plus a multiple of 20), which implies a tree with at least a million nodes, so an attacker must drive a large number of insertions and deletions through an application that uses tsearch and tdelete.  The written value is a pointer into a tree node and is not directly attacker controlled.  No affected application in common distributions has been identified.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-09-14 18:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-6368",
                        "url": "https://ubuntu.com/security/CVE-2026-6368",
                        "cve_description": "Calling wordexp with WRDE_APPEND in the GNU C Library version 2.0 to version 2.43 can cause the interface to return invalid memory in the we_wordv member, which on subsequent calls to wordfree may abort the process.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-08-10 19:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-6791",
                        "url": "https://ubuntu.com/security/CVE-2026-6791",
                        "cve_description": "When expanding paths that begin with a tilde (~) followed by a username, the internal parse_tilde function extracts the username to determine the user's home directory.  The implementation allocates memory for this username directly on the stack using the strndupa macro. Because the size of this allocation was determined by the length of the user-supplied input without any bounds checks, passing an excessively long username e.g. thousands of characters, forces the thread to exhaust its stack space. Thus if an application passes untrusted, attacker-controlled input to the wordexp function, an attacker can trigger a stack clash.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-08-10 19:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-77117",
                        "url": "https://ubuntu.com/security/CVE-2026-77117",
                        "cve_description": "Converting crafted SHIFT_JISX0213 input to UCS-4 or the internal wide character encoding, for example with iconv, in the GNU C Library version 2.3 to 2.44 may result in the converter making no progress, causing the calling application to hang.  Some SHIFT_JISX0213 sequences decode to two code points.  If the output buffer has room for only the first one, the converter stores the second in the conversion state and returns E2BIG, but it never clears that pending character after emitting it on the next call.  The converter then keeps emitting the pending character without consuming further input, so an application that retries the conversion loops forever. The input must be attacker controlled and the application must convert it with an output buffer small enough to split the two code points. Only the SHIFT_JISX0213 character set is affected, which is not commonly used.  The related defect in the EUC_JISX0213 converter is tracked separately as CVE-2026-80489.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-09-15 11:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-80489",
                        "url": "https://ubuntu.com/security/CVE-2026-80489",
                        "cve_description": "Converting crafted EUC_JISX0213 input to UCS-4 or the internal wide character encoding, for example with iconv, in the GNU C Library version 2.3 to 2.44 may result in the converter making no progress, causing the calling application to hang.  Some EUC_JISX0213 sequences decode to two code points.  If the output buffer has room for only the first one, the converter stores the second in the conversion state and returns E2BIG, but it never clears that pending character after emitting it on the next call.  The converter then keeps emitting the pending character without consuming further input, so an application that retries the conversion loops forever. The input must be attacker controlled and the application must convert it with an output buffer small enough to split the two code points. Only the EUC_JISX0213 character set is affected, which is not commonly used.  The related defect in SHIFT_JISX0213 converter is tracked separately as CVE-2026-77117.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-09-15 11:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-19499",
                                "url": "https://ubuntu.com/security/CVE-2026-19499",
                                "cve_description": "Calling strfmon and strfmon_l in the GNU C Library version 2.38 to 2.44 can write past the end of the caller-supplied output buffer when a conversion uses right-justified width padding.  Exploitation requires an application code path that calls strfmon or strfmon_l with right-justified width padding into a destination buffer that is large enough for the padding to succeed but too small for the internal memmove call. The field width or format may be attacker-influenced or a fixed susceptible pattern in the caller.  At the time of publication, no network-facing application impact is known.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-09-14 18:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-19542",
                                "url": "https://ubuntu.com/security/CVE-2026-19542",
                                "cve_description": "Calling tdelete on a sufficiently deep tree in the GNU C Library version 2.1 to 2.44 may write one pointer past the end of an alloca-allocated array on the stack, which may crash the application.  The tdelete implementation keeps an explicit stack of parent nodes for rebalancing, which is grown as needed while descending the tree.  Two rebalancing branches push an additional entry without checking the capacity, and write past the array when the stack is exactly full. Triggering this requires a node at a depth of exactly 40 (or 40 plus a multiple of 20), which implies a tree with at least a million nodes, so an attacker must drive a large number of insertions and deletions through an application that uses tsearch and tdelete.  The written value is a pointer into a tree node and is not directly attacker controlled.  No affected application in common distributions has been identified.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-09-14 18:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-6368",
                                "url": "https://ubuntu.com/security/CVE-2026-6368",
                                "cve_description": "Calling wordexp with WRDE_APPEND in the GNU C Library version 2.0 to version 2.43 can cause the interface to return invalid memory in the we_wordv member, which on subsequent calls to wordfree may abort the process.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-08-10 19:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-6791",
                                "url": "https://ubuntu.com/security/CVE-2026-6791",
                                "cve_description": "When expanding paths that begin with a tilde (~) followed by a username, the internal parse_tilde function extracts the username to determine the user's home directory.  The implementation allocates memory for this username directly on the stack using the strndupa macro. Because the size of this allocation was determined by the length of the user-supplied input without any bounds checks, passing an excessively long username e.g. thousands of characters, forces the thread to exhaust its stack space. Thus if an application passes untrusted, attacker-controlled input to the wordexp function, an attacker can trigger a stack clash.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-08-10 19:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-77117",
                                "url": "https://ubuntu.com/security/CVE-2026-77117",
                                "cve_description": "Converting crafted SHIFT_JISX0213 input to UCS-4 or the internal wide character encoding, for example with iconv, in the GNU C Library version 2.3 to 2.44 may result in the converter making no progress, causing the calling application to hang.  Some SHIFT_JISX0213 sequences decode to two code points.  If the output buffer has room for only the first one, the converter stores the second in the conversion state and returns E2BIG, but it never clears that pending character after emitting it on the next call.  The converter then keeps emitting the pending character without consuming further input, so an application that retries the conversion loops forever. The input must be attacker controlled and the application must convert it with an output buffer small enough to split the two code points. Only the SHIFT_JISX0213 character set is affected, which is not commonly used.  The related defect in the EUC_JISX0213 converter is tracked separately as CVE-2026-80489.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-09-15 11:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-80489",
                                "url": "https://ubuntu.com/security/CVE-2026-80489",
                                "cve_description": "Converting crafted EUC_JISX0213 input to UCS-4 or the internal wide character encoding, for example with iconv, in the GNU C Library version 2.3 to 2.44 may result in the converter making no progress, causing the calling application to hang.  Some EUC_JISX0213 sequences decode to two code points.  If the output buffer has room for only the first one, the converter stores the second in the conversion state and returns E2BIG, but it never clears that pending character after emitting it on the next call.  The converter then keeps emitting the pending character without consuming further input, so an application that retries the conversion loops forever. The input must be attacker controlled and the application must convert it with an output buffer small enough to split the two code points. Only the EUC_JISX0213 character set is affected, which is not commonly used.  The related defect in SHIFT_JISX0213 converter is tracked separately as CVE-2026-77117.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-09-15 11:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Buffer overflow in strfmon right-justification padding",
                            "    - debian/patches/CVE-2026-19499.patch: stdlib: Fix right-justification in",
                            "      strfmon (bug 34510, CVE-2026-19499) in stdlib/Makefile,",
                            "      stdlib/strfmon_l.c, stdlib/tst-strfmon-bug34510.c.",
                            "    - CVE-2026-19499",
                            "  * SECURITY UPDATE: Out-of-bounds stack array access in tdelete",
                            "    - debian/patches/CVE-2026-19542.patch: misc: Fix out-of-bounds array write",
                            "      in tdelete (bug 34506) in misc/tsearch.c.",
                            "    - CVE-2026-19542",
                            "  * SECURITY UPDATE: invalid memory when calling wordexp with WRDE_APPEND",
                            "    - debian/patches/CVE-2026-6368.patch: posix: Fix wordexp WRDE_APPEND to",
                            "      preserve state on non-NOSPACE errors (BZ 34090, CVE-2026-6368) in",
                            "      posix/Makefile, posix/tst-wordexp-append.c, posix/wordexp.c.",
                            "    - CVE-2026-6368",
                            "  * SECURITY UPDATE: stack clash issue when expanding long tilde paths",
                            "    - debian/patches/CVE-2026-6791.patch: posix: Fix stack overflow in wordexp",
                            "      tilde expansion (BZ 34091, CVE-2026-6791) in posix/Makefile, posix/tst-",
                            "      wordexp-tilde.c, posix/tst-wordexp-tilde.root/etc/group, posix/tst-",
                            "      wordexp-tilde.root/etc/nsswitch.conf, posix/tst-wordexp-",
                            "      tilde.root/etc/passwd, posix/wordexp.c.",
                            "    - CVE-2026-6791",
                            "  * SECURITY UPDATE: SHIFT_JISX0213 converter hang",
                            "    - debian/patches/CVE-2026-77117-1.patch: iconvdata: SHIFT_JISX0213 decoding",
                            "      lacks pending character reset (CVE-2026-77117) in",
                            "      iconvdata/shift_jisx0213.c.",
                            "    - debian/patches/CVE-2026-77117-2.patch: iconvdata: Test case for bug 34556,",
                            "      bug 34568 in iconvdata/Makefile, iconvdata/tst-jisx0213-progress.c.",
                            "    - CVE-2026-77117",
                            "  * SECURITY UPDATE: EUC_JISX0213 converter hang",
                            "    - debian/patches/CVE-2026-80489.patch: iconvdata: EUC_JISX0213 decoding",
                            "      lacks pending character reset (CVE-2026-80489) in iconvdata/euc-",
                            "      jisx0213.c.",
                            "    - CVE-2026-80489",
                            ""
                        ],
                        "package": "glibc",
                        "version": "2.39-0ubuntu8.9",
                        "urgency": "medium",
                        "distributions": "noble-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Thu, 03 Sep 2026 10:15:12 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libc6",
                "from_version": {
                    "source_package_name": "glibc",
                    "source_package_version": "2.39-0ubuntu8.8",
                    "version": "2.39-0ubuntu8.8"
                },
                "to_version": {
                    "source_package_name": "glibc",
                    "source_package_version": "2.39-0ubuntu8.9",
                    "version": "2.39-0ubuntu8.9"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-19499",
                        "url": "https://ubuntu.com/security/CVE-2026-19499",
                        "cve_description": "Calling strfmon and strfmon_l in the GNU C Library version 2.38 to 2.44 can write past the end of the caller-supplied output buffer when a conversion uses right-justified width padding.  Exploitation requires an application code path that calls strfmon or strfmon_l with right-justified width padding into a destination buffer that is large enough for the padding to succeed but too small for the internal memmove call. The field width or format may be attacker-influenced or a fixed susceptible pattern in the caller.  At the time of publication, no network-facing application impact is known.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-09-14 18:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-19542",
                        "url": "https://ubuntu.com/security/CVE-2026-19542",
                        "cve_description": "Calling tdelete on a sufficiently deep tree in the GNU C Library version 2.1 to 2.44 may write one pointer past the end of an alloca-allocated array on the stack, which may crash the application.  The tdelete implementation keeps an explicit stack of parent nodes for rebalancing, which is grown as needed while descending the tree.  Two rebalancing branches push an additional entry without checking the capacity, and write past the array when the stack is exactly full. Triggering this requires a node at a depth of exactly 40 (or 40 plus a multiple of 20), which implies a tree with at least a million nodes, so an attacker must drive a large number of insertions and deletions through an application that uses tsearch and tdelete.  The written value is a pointer into a tree node and is not directly attacker controlled.  No affected application in common distributions has been identified.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-09-14 18:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-6368",
                        "url": "https://ubuntu.com/security/CVE-2026-6368",
                        "cve_description": "Calling wordexp with WRDE_APPEND in the GNU C Library version 2.0 to version 2.43 can cause the interface to return invalid memory in the we_wordv member, which on subsequent calls to wordfree may abort the process.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-08-10 19:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-6791",
                        "url": "https://ubuntu.com/security/CVE-2026-6791",
                        "cve_description": "When expanding paths that begin with a tilde (~) followed by a username, the internal parse_tilde function extracts the username to determine the user's home directory.  The implementation allocates memory for this username directly on the stack using the strndupa macro. Because the size of this allocation was determined by the length of the user-supplied input without any bounds checks, passing an excessively long username e.g. thousands of characters, forces the thread to exhaust its stack space. Thus if an application passes untrusted, attacker-controlled input to the wordexp function, an attacker can trigger a stack clash.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-08-10 19:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-77117",
                        "url": "https://ubuntu.com/security/CVE-2026-77117",
                        "cve_description": "Converting crafted SHIFT_JISX0213 input to UCS-4 or the internal wide character encoding, for example with iconv, in the GNU C Library version 2.3 to 2.44 may result in the converter making no progress, causing the calling application to hang.  Some SHIFT_JISX0213 sequences decode to two code points.  If the output buffer has room for only the first one, the converter stores the second in the conversion state and returns E2BIG, but it never clears that pending character after emitting it on the next call.  The converter then keeps emitting the pending character without consuming further input, so an application that retries the conversion loops forever. The input must be attacker controlled and the application must convert it with an output buffer small enough to split the two code points. Only the SHIFT_JISX0213 character set is affected, which is not commonly used.  The related defect in the EUC_JISX0213 converter is tracked separately as CVE-2026-80489.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-09-15 11:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-80489",
                        "url": "https://ubuntu.com/security/CVE-2026-80489",
                        "cve_description": "Converting crafted EUC_JISX0213 input to UCS-4 or the internal wide character encoding, for example with iconv, in the GNU C Library version 2.3 to 2.44 may result in the converter making no progress, causing the calling application to hang.  Some EUC_JISX0213 sequences decode to two code points.  If the output buffer has room for only the first one, the converter stores the second in the conversion state and returns E2BIG, but it never clears that pending character after emitting it on the next call.  The converter then keeps emitting the pending character without consuming further input, so an application that retries the conversion loops forever. The input must be attacker controlled and the application must convert it with an output buffer small enough to split the two code points. Only the EUC_JISX0213 character set is affected, which is not commonly used.  The related defect in SHIFT_JISX0213 converter is tracked separately as CVE-2026-77117.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-09-15 11:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-19499",
                                "url": "https://ubuntu.com/security/CVE-2026-19499",
                                "cve_description": "Calling strfmon and strfmon_l in the GNU C Library version 2.38 to 2.44 can write past the end of the caller-supplied output buffer when a conversion uses right-justified width padding.  Exploitation requires an application code path that calls strfmon or strfmon_l with right-justified width padding into a destination buffer that is large enough for the padding to succeed but too small for the internal memmove call. The field width or format may be attacker-influenced or a fixed susceptible pattern in the caller.  At the time of publication, no network-facing application impact is known.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-09-14 18:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-19542",
                                "url": "https://ubuntu.com/security/CVE-2026-19542",
                                "cve_description": "Calling tdelete on a sufficiently deep tree in the GNU C Library version 2.1 to 2.44 may write one pointer past the end of an alloca-allocated array on the stack, which may crash the application.  The tdelete implementation keeps an explicit stack of parent nodes for rebalancing, which is grown as needed while descending the tree.  Two rebalancing branches push an additional entry without checking the capacity, and write past the array when the stack is exactly full. Triggering this requires a node at a depth of exactly 40 (or 40 plus a multiple of 20), which implies a tree with at least a million nodes, so an attacker must drive a large number of insertions and deletions through an application that uses tsearch and tdelete.  The written value is a pointer into a tree node and is not directly attacker controlled.  No affected application in common distributions has been identified.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-09-14 18:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-6368",
                                "url": "https://ubuntu.com/security/CVE-2026-6368",
                                "cve_description": "Calling wordexp with WRDE_APPEND in the GNU C Library version 2.0 to version 2.43 can cause the interface to return invalid memory in the we_wordv member, which on subsequent calls to wordfree may abort the process.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-08-10 19:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-6791",
                                "url": "https://ubuntu.com/security/CVE-2026-6791",
                                "cve_description": "When expanding paths that begin with a tilde (~) followed by a username, the internal parse_tilde function extracts the username to determine the user's home directory.  The implementation allocates memory for this username directly on the stack using the strndupa macro. Because the size of this allocation was determined by the length of the user-supplied input without any bounds checks, passing an excessively long username e.g. thousands of characters, forces the thread to exhaust its stack space. Thus if an application passes untrusted, attacker-controlled input to the wordexp function, an attacker can trigger a stack clash.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-08-10 19:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-77117",
                                "url": "https://ubuntu.com/security/CVE-2026-77117",
                                "cve_description": "Converting crafted SHIFT_JISX0213 input to UCS-4 or the internal wide character encoding, for example with iconv, in the GNU C Library version 2.3 to 2.44 may result in the converter making no progress, causing the calling application to hang.  Some SHIFT_JISX0213 sequences decode to two code points.  If the output buffer has room for only the first one, the converter stores the second in the conversion state and returns E2BIG, but it never clears that pending character after emitting it on the next call.  The converter then keeps emitting the pending character without consuming further input, so an application that retries the conversion loops forever. The input must be attacker controlled and the application must convert it with an output buffer small enough to split the two code points. Only the SHIFT_JISX0213 character set is affected, which is not commonly used.  The related defect in the EUC_JISX0213 converter is tracked separately as CVE-2026-80489.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-09-15 11:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-80489",
                                "url": "https://ubuntu.com/security/CVE-2026-80489",
                                "cve_description": "Converting crafted EUC_JISX0213 input to UCS-4 or the internal wide character encoding, for example with iconv, in the GNU C Library version 2.3 to 2.44 may result in the converter making no progress, causing the calling application to hang.  Some EUC_JISX0213 sequences decode to two code points.  If the output buffer has room for only the first one, the converter stores the second in the conversion state and returns E2BIG, but it never clears that pending character after emitting it on the next call.  The converter then keeps emitting the pending character without consuming further input, so an application that retries the conversion loops forever. The input must be attacker controlled and the application must convert it with an output buffer small enough to split the two code points. Only the EUC_JISX0213 character set is affected, which is not commonly used.  The related defect in SHIFT_JISX0213 converter is tracked separately as CVE-2026-77117.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-09-15 11:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Buffer overflow in strfmon right-justification padding",
                            "    - debian/patches/CVE-2026-19499.patch: stdlib: Fix right-justification in",
                            "      strfmon (bug 34510, CVE-2026-19499) in stdlib/Makefile,",
                            "      stdlib/strfmon_l.c, stdlib/tst-strfmon-bug34510.c.",
                            "    - CVE-2026-19499",
                            "  * SECURITY UPDATE: Out-of-bounds stack array access in tdelete",
                            "    - debian/patches/CVE-2026-19542.patch: misc: Fix out-of-bounds array write",
                            "      in tdelete (bug 34506) in misc/tsearch.c.",
                            "    - CVE-2026-19542",
                            "  * SECURITY UPDATE: invalid memory when calling wordexp with WRDE_APPEND",
                            "    - debian/patches/CVE-2026-6368.patch: posix: Fix wordexp WRDE_APPEND to",
                            "      preserve state on non-NOSPACE errors (BZ 34090, CVE-2026-6368) in",
                            "      posix/Makefile, posix/tst-wordexp-append.c, posix/wordexp.c.",
                            "    - CVE-2026-6368",
                            "  * SECURITY UPDATE: stack clash issue when expanding long tilde paths",
                            "    - debian/patches/CVE-2026-6791.patch: posix: Fix stack overflow in wordexp",
                            "      tilde expansion (BZ 34091, CVE-2026-6791) in posix/Makefile, posix/tst-",
                            "      wordexp-tilde.c, posix/tst-wordexp-tilde.root/etc/group, posix/tst-",
                            "      wordexp-tilde.root/etc/nsswitch.conf, posix/tst-wordexp-",
                            "      tilde.root/etc/passwd, posix/wordexp.c.",
                            "    - CVE-2026-6791",
                            "  * SECURITY UPDATE: SHIFT_JISX0213 converter hang",
                            "    - debian/patches/CVE-2026-77117-1.patch: iconvdata: SHIFT_JISX0213 decoding",
                            "      lacks pending character reset (CVE-2026-77117) in",
                            "      iconvdata/shift_jisx0213.c.",
                            "    - debian/patches/CVE-2026-77117-2.patch: iconvdata: Test case for bug 34556,",
                            "      bug 34568 in iconvdata/Makefile, iconvdata/tst-jisx0213-progress.c.",
                            "    - CVE-2026-77117",
                            "  * SECURITY UPDATE: EUC_JISX0213 converter hang",
                            "    - debian/patches/CVE-2026-80489.patch: iconvdata: EUC_JISX0213 decoding",
                            "      lacks pending character reset (CVE-2026-80489) in iconvdata/euc-",
                            "      jisx0213.c.",
                            "    - CVE-2026-80489",
                            ""
                        ],
                        "package": "glibc",
                        "version": "2.39-0ubuntu8.9",
                        "urgency": "medium",
                        "distributions": "noble-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Thu, 03 Sep 2026 10:15:12 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libexpat1",
                "from_version": {
                    "source_package_name": "expat",
                    "source_package_version": "2.6.1-2ubuntu0.4",
                    "version": "2.6.1-2ubuntu0.4"
                },
                "to_version": {
                    "source_package_name": "expat",
                    "source_package_version": "2.6.1-2ubuntu0.5",
                    "version": "2.6.1-2ubuntu0.5"
                },
                "cves": [
                    {
                        "cve": "CVE-2025-59375",
                        "url": "https://ubuntu.com/security/CVE-2025-59375",
                        "cve_description": "libexpat in Expat before 2.7.2 allows attackers to trigger large dynamic memory allocations via a small document that is submitted for parsing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-09-15 03:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-32776",
                        "url": "https://ubuntu.com/security/CVE-2026-32776",
                        "cve_description": "libexpat before 2.7.5 allows a NULL pointer dereference with empty external parameter entity content.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-03-16 14:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-32777",
                        "url": "https://ubuntu.com/security/CVE-2026-32777",
                        "cve_description": "libexpat before 2.7.5 allows an infinite loop while parsing DTD content.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-03-16 14:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-32778",
                        "url": "https://ubuntu.com/security/CVE-2026-32778",
                        "cve_description": "libexpat before 2.7.5 allows a NULL pointer dereference in the function setContext on retry after an earlier ouf-of-memory condition.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-03-16 14:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-45186",
                        "url": "https://ubuntu.com/security/CVE-2026-45186",
                        "cve_description": "In libexpat before 2.8.1, the computational complexity of attribute name collision checks allows a denial of service via moderately sized crafted XML input.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-05-10 07:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-41080",
                        "url": "https://ubuntu.com/security/CVE-2026-41080",
                        "cve_description": "libexpat before 2.8.0 uses insufficient entropy, and thus hash flooding can occur via a crafted XML document.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-16 17:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-56408",
                        "url": "https://ubuntu.com/security/CVE-2026-56408",
                        "cve_description": "libexpat before 2.8.2 has an integer overflow in copyString.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-21 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-56403",
                        "url": "https://ubuntu.com/security/CVE-2026-56403",
                        "cve_description": "libexpat before 2.8.2 has an integer overflow in storeAtts.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-21 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-50219",
                        "url": "https://ubuntu.com/security/CVE-2026-50219",
                        "cve_description": "libexpat before 2.8.2 lacks handler call depth tracking for calls to XML_GetBuffer, XML_Parse, XML_ParseBuffer, XML_ParserFree, or XML_ParserReset from within handlers in cases of a policy violation. Thus, a use-after-free can occur,",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-04 06:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-56412",
                        "url": "https://ubuntu.com/security/CVE-2026-56412",
                        "cve_description": "libexpat before 2.8.2 does not consider XML_TOK_DATA_CHARS in doCdataSection and thus lacks handler call depth tracking for various calls from within handlers in cases of a policy violation. Thus, a use-after-free can occur. NOTE: this issue exists because of an incomplete fix for CVE-2026-50219.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-21 17:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-56404",
                        "url": "https://ubuntu.com/security/CVE-2026-56404",
                        "cve_description": "libexpat before 2.8.2 has an integer overflow in addBinding.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-21 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-56405",
                        "url": "https://ubuntu.com/security/CVE-2026-56405",
                        "cve_description": "libexpat before 2.8.2 has an integer overflow in getAttributeId.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-21 16:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2025-59375",
                                "url": "https://ubuntu.com/security/CVE-2025-59375",
                                "cve_description": "libexpat in Expat before 2.7.2 allows attackers to trigger large dynamic memory allocations via a small document that is submitted for parsing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-09-15 03:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-32776",
                                "url": "https://ubuntu.com/security/CVE-2026-32776",
                                "cve_description": "libexpat before 2.7.5 allows a NULL pointer dereference with empty external parameter entity content.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-03-16 14:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-32777",
                                "url": "https://ubuntu.com/security/CVE-2026-32777",
                                "cve_description": "libexpat before 2.7.5 allows an infinite loop while parsing DTD content.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-03-16 14:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-32778",
                                "url": "https://ubuntu.com/security/CVE-2026-32778",
                                "cve_description": "libexpat before 2.7.5 allows a NULL pointer dereference in the function setContext on retry after an earlier ouf-of-memory condition.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-03-16 14:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-45186",
                                "url": "https://ubuntu.com/security/CVE-2026-45186",
                                "cve_description": "In libexpat before 2.8.1, the computational complexity of attribute name collision checks allows a denial of service via moderately sized crafted XML input.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-05-10 07:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-41080",
                                "url": "https://ubuntu.com/security/CVE-2026-41080",
                                "cve_description": "libexpat before 2.8.0 uses insufficient entropy, and thus hash flooding can occur via a crafted XML document.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-16 17:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-56408",
                                "url": "https://ubuntu.com/security/CVE-2026-56408",
                                "cve_description": "libexpat before 2.8.2 has an integer overflow in copyString.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-21 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-56403",
                                "url": "https://ubuntu.com/security/CVE-2026-56403",
                                "cve_description": "libexpat before 2.8.2 has an integer overflow in storeAtts.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-21 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-50219",
                                "url": "https://ubuntu.com/security/CVE-2026-50219",
                                "cve_description": "libexpat before 2.8.2 lacks handler call depth tracking for calls to XML_GetBuffer, XML_Parse, XML_ParseBuffer, XML_ParserFree, or XML_ParserReset from within handlers in cases of a policy violation. Thus, a use-after-free can occur,",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-04 06:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-56412",
                                "url": "https://ubuntu.com/security/CVE-2026-56412",
                                "cve_description": "libexpat before 2.8.2 does not consider XML_TOK_DATA_CHARS in doCdataSection and thus lacks handler call depth tracking for various calls from within handlers in cases of a policy violation. Thus, a use-after-free can occur. NOTE: this issue exists because of an incomplete fix for CVE-2026-50219.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-21 17:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-56404",
                                "url": "https://ubuntu.com/security/CVE-2026-56404",
                                "cve_description": "libexpat before 2.8.2 has an integer overflow in addBinding.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-21 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-56405",
                                "url": "https://ubuntu.com/security/CVE-2026-56405",
                                "cve_description": "libexpat before 2.8.2 has an integer overflow in getAttributeId.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-21 16:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: large dynamic memory allocations via a small document",
                            "    - debian/patches/CVE-2025-59375-1.patch: lib: Make function dtdCreate use",
                            "      macro MALLOC in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-2.patch: lib: Make string pools use macros",
                            "      MALLOC, FREE, REALLOC in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-3.patch: lib: Make function hash tables use",
                            "      macros MALLOC and FREE in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-4.patch: lib: Make function copyString use",
                            "      macro MALLOC in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-5.patch: lib: Make function dtdReset use",
                            "      macro FREE in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-6.patch: lib: Make function dtdDestroy use",
                            "      macro FREE in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-7.patch: lib: Make function dtdCopy use",
                            "      macro MALLOC in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-8.patch: lib: Implement tracking of dynamic",
                            "      memory allocations in .github/workflows/data/exported-symbols.txt,",
                            "      expat/lib/expat.h, expat/lib/internal.h, expat/lib/libexpat.def.cmake,",
                            "      expat/lib/xmlparse.c, expat/tests/basic_tests.c,",
                            "      expat/tests/nsalloc_tests.c, expat/xmlwf/xmlwf.c,",
                            "      expat/xmlwf/xmlwf_helpgen.py.",
                            "    - debian/patches/CVE-2025-59375-9.patch: lib: Make XML_MemFree and",
                            "      XML_FreeContentModel match their siblings in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-10.patch: lib: Exclude XML_Mem* functions",
                            "      from allocation tracking in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-11.patch: lib: Exclude the main input buffer",
                            "      from allocation tracking in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-12.patch: lib: Exclude the content model",
                            "      from allocation tracking in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-13.patch: tests: Cover allocation tracking",
                            "      and limiting with tests in expat/lib/internal.h, expat/lib/xmlparse.c,",
                            "      expat/tests/alloc_tests.c.",
                            "    - debian/patches/CVE-2025-59375-14.patch: xmlwf: Wire allocation tracker",
                            "      config to existing arguments -a and -b in expat/doc/xmlwf.xml,",
                            "      expat/xmlwf/xmlwf.c, expat/xmlwf/xmlwf_helpgen.py.",
                            "    - debian/patches/CVE-2025-59375-15.patch: fuzz: Be robust towards NULL",
                            "      return from XML_ExternalEntityParserCreate in",
                            "      expat/fuzz/xml_parse_fuzzer.c, expat/fuzz/xml_parsebuffer_fuzzer.c.",
                            "    - debian/patches/CVE-2025-59375-16.patch: lib: Document and regression-proof",
                            "      absence of integer overflow from expat_realloc in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-17.patch: lib: Fix alignment of internal",
                            "      allocations for some non-amd64 architectures in expat/lib/internal.h,",
                            "      expat/lib/xmlparse.c, expat/tests/alloc_tests.c.",
                            "    - debian/patches/CVE-2025-59375-18.patch: tests: Fix test guard for test",
                            "      related to allocation tracking in expat/tests/alloc_tests.c.",
                            "    - debian/patches/CVE-2025-59375-19.patch: tests: Add new test",
                            "      test_alloc_tracker_pointer_alignment in expat/tests/alloc_tests.c.",
                            "    - debian/patches/CVE-2025-59375-20.patch: lib: Fix detection of asynchronous",
                            "      tags in entities in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2025-59375-21.patch: tests: Cover",
                            "      XML_ERROR_ASYNC_ENTITY cases in expat/tests/misc_tests.c.",
                            "    - debian/patches/CVE-2025-59375-22.patch: tests: Add line/column checks to",
                            "      async entity tests in expat/tests/misc_tests.c.",
                            "    - CVE-2025-59375",
                            "  * SECURITY UPDATE: NULL function-pointer dereference",
                            "    - debian/patches/CVE-2026-32776.patch: Fix NULL function-pointer dereference",
                            "      for empty external parameter entities in expat/lib/xmlparse.c,",
                            "      expat/tests/basic_tests.c.",
                            "    - CVE-2026-32776",
                            "  * SECURITY UPDATE: infinite loop while parsing DTD content",
                            "    - debian/patches/CVE-2026-32777-1.patch: lib: Reject XML_TOK_INSTANCE_START",
                            "      infinite loop in entityValueProcessor in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-32777-2.patch: misc_tests.c: Cover",
                            "      XML_TOK_INSTANCE_START infinite loop case in expat/tests/misc_tests.c.",
                            "    - CVE-2026-32777",
                            "  * SECURITY UPDATE: NULL pointer dereference",
                            "    - debian/patches/CVE-2026-32778-1.patch: copy prefix name to pool before",
                            "      lookup in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-32778-2.patch: test that we do not end up with a",
                            "      zombie PREFIX in the pool in expat/tests/nsalloc_tests.c.",
                            "    - CVE-2026-32778",
                            "  * SECURITY UPDATE: denial of service via moderately sized crafted XML input",
                            "    - debian/patches/CVE-2026-45186-1.patch: Make",
                            "      \"counting_start_element_handler\" count default attrs in",
                            "      expat/tests/basic_tests.c, expat/tests/handlers.c, expat/tests/handlers.h.",
                            "    - debian/patches/CVE-2026-45186-2.patch: test(attlist): Cover duplicate",
                            "      attribute names in expat/tests/basic_tests.c.",
                            "    - debian/patches/CVE-2026-45186-3-pre.patch: tests: Migrate test_attributes",
                            "      off of g_parser in expat/tests/basic_tests.c.",
                            "    - debian/patches/CVE-2026-45186-3.patch: tests: Define .attributes the first",
                            "      time around in expat/tests/basic_tests.c.",
                            "    - debian/patches/CVE-2026-45186-4.patch: tests: Make",
                            "      counting_start_element_handler enforce complete attribute lists in",
                            "      expat/tests/handlers.c.",
                            "    - debian/patches/CVE-2026-45186-5.patch: lib: Extract a constant for",
                            "      upcoming reuse in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-45186-6.patch: lib: Introduce",
                            "      ELEMENT_TYPE.defaultAttsNames in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-45186-7.patch: lib: Leverage",
                            "      ELEMENT_TYPE.defaultAttsNames for attribute collision detection in",
                            "      expat/lib/xmlparse.c.",
                            "    - CVE-2026-45186",
                            "  * SECURITY UPDATE: hash flooding caused by insufficient entropy",
                            "    - debian/patches/CVE-2026-41080-1-pre.patch: lib/xmlparse.c: Address clang-",
                            "      tidy warning misc-no-recursion in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-41080-1.patch: lib: Inline function",
                            "      `get_hash_secret_salt` in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-41080-2.patch: lib: Drop unused parameter from",
                            "      function `generate_hash_secret_salt` in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-41080-3.patch: lib: Migrate hash salt storage to",
                            "      larger `struct sipkey` in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-41080-4.patch: lib: Drop unneeded `void *` casts",
                            "      in function `generate_hash_secret_salt` in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-41080-5-pre.patch: WASI: remove getpid in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-41080-5.patch: lib: Extract 16 bytes of entropy",
                            "      (instead of 4 to 8) for hash flooding protection in expat/lib/internal.h,",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-41080-6.patch: lib: Introduce internal flag",
                            "      `m_hash_secret_salt_set` in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-41080-7.patch: lib: Introduce API function",
                            "      `XML_SetHashSalt16Bytes` in expat/lib/expat.h, expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-41080-8.patch: lib: Include `XML_SetHashSalt*`",
                            "      with entropy debugging in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-41080-9.patch: tests: Add basic coverage to",
                            "      `XML_SetHashSalt16Bytes` in expat/tests/basic_tests.c.",
                            "    - debian/patches/CVE-2026-41080-10.patch: doc: Document `XML_SetHashSalt` as",
                            "      being deprecated in expat/lib/expat.h, expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-41080-11.patch: cmake|windows: add missing export",
                            "      for new XML_SetHashSalt16Bytes in expat/lib/libexpat.def.cmake.",
                            "    - CVE-2026-41080",
                            "  * SECURITY UPDATE: integer overflow",
                            "    - debian/patches/CVE-2026-56408.patch: lib: Waterproof `copyString` from",
                            "      integer overflow in expat/lib/xmlparse.c.",
                            "    - CVE-2026-56408",
                            "  * SECURITY UPDATE: integer overflow",
                            "    - debian/patches/CVE-2026-56403-pre1.patch: Replace the empty for-loops with",
                            "      while loops in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-56403-1.patch: lib: Protect function `storeAtts`",
                            "      from signed integer overflow in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-56403-2.patch: xmlwf: Protect function `xcsdup`",
                            "      from signed integer overflow in expat/xmlwf/xmlwf.c.",
                            "    - CVE-2026-56403",
                            "  * SECURITY UPDATE: use after free",
                            "    - debian/patches/CVE-2026-50219-1.patch: lib: Introduce handler call depth",
                            "      tracking in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-2.patch: lib: Prepare",
                            "      `m_notStandaloneHandler` calls for upcoming wrapping in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-3.patch: lib: Prepare",
                            "      `m_externalEntityRefHandler` calls for upcoming wrapping in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-4.patch: lib: Prepare",
                            "      `m_unknownEncodingHandler` calls for upcoming wrapping in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-5.patch: lib: Register",
                            "      `m_attlistDeclHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-6.patch: lib: Register",
                            "      `m_characterDataHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-7.patch: lib: Register `m_commentHandler`",
                            "      with handler call depth tracking in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-8.patch: lib: Register `m_defaultHandler`",
                            "      with handler call depth tracking in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-9.patch: lib: Register",
                            "      `m_elementDeclHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-10.patch: lib: Register",
                            "      `m_endCdataSectionHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-11.patch: lib: Register",
                            "      `m_endDoctypeDeclHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-12.patch: lib: Register",
                            "      `m_endElementHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-13.patch: lib: Register",
                            "      `m_endNamespaceDeclHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-14.patch: lib: Register",
                            "      `m_entityDeclHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-15.patch: lib: Register",
                            "      `m_externalEntityRefHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-16.patch: lib: Register",
                            "      `m_notationDeclHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-17.patch: lib: Register",
                            "      `m_notStandaloneHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-18.patch: lib: Register",
                            "      `m_processingInstructionHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-19.patch: lib: Register",
                            "      `m_skippedEntityHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-20.patch: lib: Register",
                            "      `m_startCdataSectionHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-21.patch: lib: Register",
                            "      `m_startDoctypeDeclHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-22.patch: lib: Register",
                            "      `m_startElementHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-23.patch: lib: Register",
                            "      `m_startNamespaceDeclHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-24.patch: lib: Register",
                            "      `m_unknownEncodingHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-25.patch: lib: Register",
                            "      `m_unparsedEntityDeclHandler` with handler call depth tracking in",
                            "      expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-26.patch: lib: Register `m_xmlDeclHandler`",
                            "      with handler call depth tracking in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-27.patch: lib: Protect `XML_GetBuffer` from",
                            "      being called from a handler in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-28.patch: lib: Protect `XML_Parse` from",
                            "      being called from a handler in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-29.patch: lib: Protect `XML_ParseBuffer`",
                            "      from being called from a handler in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-30.patch: lib: Protect `XML_ParserFree` from",
                            "      being called from a handler in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-31.patch: lib: Protect `XML_ParserReset`",
                            "      from being called from a handler in expat/lib/xmlparse.c.",
                            "    - debian/patches/CVE-2026-50219-32.patch: tests: Cover calls forbidden from",
                            "      handlers in expat/tests/handlers.c, expat/tests/handlers.h,",
                            "      expat/tests/misc_tests.c.",
                            "    - CVE-2026-50219",
                            "  * SECURITY UPDATE: use after free (fix for CVE-2026-50219 was incomplete)",
                            "    - debian/patches/CVE-2026-56412.patch: lib: guard XML_TOK_DATA_CHARS handler",
                            "      calls in doCdataSection() in expat/lib/xmlparse.c.",
                            "    - CVE-2026-56412",
                            "  * SECURITY UPDATE: integer overflow",
                            "    - debian/patches/CVE-2026-56404.patch: lib: protect function addBinding from",
                            "      signed integer overflow in expat/lib/xmlparse.c.",
                            "    - CVE-2026-56404",
                            "  * SECURITY UPDATE: integer overflow",
                            "    - debian/patches/CVE-2026-56405.patch: lib: Protect function getAttributeId",
                            "      from signed integer overflow in expat/lib/xmlparse.c.",
                            "    - CVE-2026-56405",
                            ""
                        ],
                        "package": "expat",
                        "version": "2.6.1-2ubuntu0.5",
                        "urgency": "medium",
                        "distributions": "noble-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Isabel Garcia Contreras <isabel.garcia@canonical.com>",
                        "date": "Fri, 11 Sep 2026 10:26:31 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libglib2.0-0t64",
                "from_version": {
                    "source_package_name": "glib2.0",
                    "source_package_version": "2.80.0-6ubuntu3.8",
                    "version": "2.80.0-6ubuntu3.8"
                },
                "to_version": {
                    "source_package_name": "glib2.0",
                    "source_package_version": "2.80.0-6ubuntu3.9",
                    "version": "2.80.0-6ubuntu3.9"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-58010",
                        "url": "https://ubuntu.com/security/CVE-2026-58010",
                        "cve_description": "A flaw was found in GLib. An off-by-one error can occur in the gvs_tuple_is_normal function in the glib/gvariant-serialiser.c file when doing an alignment padding check because the bounds check uses > instead of >=, causing an out-of-bounds read of only 1 byte. This issue can cause a minor information disclosure of 1 byte and a denial of service when the out-of-bounds read crosses a page boundary.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-58011",
                        "url": "https://ubuntu.com/security/CVE-2026-58011",
                        "cve_description": "A flaw was found in GLib. An out-of-bounds read of only 2 bytes can occur in the g_date_time_get_ymd function in the glib/gdatetime.c file when an invalid GDateTime object produced by the g_date_time_add_full function is processed. This flaw can corrupt the date output and potentially cause logic errors that may lead to a denial of service.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-58012",
                        "url": "https://ubuntu.com/security/CVE-2026-58012",
                        "cve_description": "A flaw was found in GLib. A buffer over-read can occur in the g_regex_replace function when used with the `G_REGEX_RAW` compile flag and case-change replacement escapes because the string_append function processes matched substrings using UTF-8 functions that assume valid UTF-8 input, even when the string is treated as raw bytes. This vulnerability can cause a minor information disclosure of 1-5 bytes and a denial of service when the buffer over-read crosses a page boundary.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-58013",
                        "url": "https://ubuntu.com/security/CVE-2026-58013",
                        "cve_description": "A flaw was found in GLib. A buffer over-read can occur in g_io_channel_read_line_backend() in the giochannel.c file when a custom line terminator with a length greater than one is set, causing memcmp to read past the GString buffer. This vulnerability can cause a minor information disclosure of 7 bytes or a denial of service when the buffer over-read crosses a page boundary.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-58014",
                        "url": "https://ubuntu.com/security/CVE-2026-58014",
                        "cve_description": "A flaw was found in GLib. An off-by-one error can occur in the g_key_file_get_locale_string_list function in the gkeyfile.c file when loading a key file with an empty value. This flaw can cause an out-of-bounds access of 1 byte or a denial of service when the out-of-bounds access crosses a page boundary.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-58015",
                        "url": "https://ubuntu.com/security/CVE-2026-58015",
                        "cve_description": "A flaw was found in GLib. The D-Bus client-side implementation of the DBUS_COOKIE_SHA1 SASL authentication mechanism does not validate the cookie_context parameter received from the server. A malicious D-Bus server can supply a cookie_context containing path traversal sequences, causing the client to read an arbitrary file and exfiltrate sensitive data by verifying guessed file contents against a generated hash.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-58016",
                        "url": "https://ubuntu.com/security/CVE-2026-58016",
                        "cve_description": "A flaw was found in GLib. A state confusion issue exists in g_dbus_node_info_new_for_xml() in the gio/gdbusintrospection.c file when processing malformed D-Bus introspection XML, specifically with a `node` element nested within other elements like `method`, `signal`, `property` or `arg`. This issue can cause an unsigned integer overflow and lead to an out-of-bounds read, resulting in a denial of service.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 13:19:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-15588",
                        "url": "https://ubuntu.com/security/CVE-2026-15588",
                        "cve_description": "A denial-of-service and resource exhaustion vulnerability exists within the `GDBus` component of GLib. The `gdbusauth` authentication mechanism fails to enforce proper length limitations on data lines read from a client. An unauthenticated local or remote attacker can exploit this lack of input validation by sending excessively long streams of data, causing the application to consume massive amounts of system memory and CPU, potentially leading to a crash or system hang.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-20 12:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-16118",
                        "url": "https://ubuntu.com/security/CVE-2026-16118",
                        "cve_description": "A flaw was found in xdgmime. A heap-based buffer overflow can be triggered in _xdg_mime_magic_parse_magic_line() in the xdgmimemagic.c file on little-endian systems when an attacker-controlled MIME magic file in a user-writable XDG data location (e.g., in the $XDG_DATA_HOME/mime/magic path) is parsed by an application performing MIME type detection (e.g., via g_content_type_guess()). When performing byte-swap, incorrect pointer arithmetic on the write side causes an out-of-bounds write of 2 bytes, resulting in an application crash or memory corruption.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-17 20:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-58010",
                                "url": "https://ubuntu.com/security/CVE-2026-58010",
                                "cve_description": "A flaw was found in GLib. An off-by-one error can occur in the gvs_tuple_is_normal function in the glib/gvariant-serialiser.c file when doing an alignment padding check because the bounds check uses > instead of >=, causing an out-of-bounds read of only 1 byte. This issue can cause a minor information disclosure of 1 byte and a denial of service when the out-of-bounds read crosses a page boundary.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-58011",
                                "url": "https://ubuntu.com/security/CVE-2026-58011",
                                "cve_description": "A flaw was found in GLib. An out-of-bounds read of only 2 bytes can occur in the g_date_time_get_ymd function in the glib/gdatetime.c file when an invalid GDateTime object produced by the g_date_time_add_full function is processed. This flaw can corrupt the date output and potentially cause logic errors that may lead to a denial of service.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-58012",
                                "url": "https://ubuntu.com/security/CVE-2026-58012",
                                "cve_description": "A flaw was found in GLib. A buffer over-read can occur in the g_regex_replace function when used with the `G_REGEX_RAW` compile flag and case-change replacement escapes because the string_append function processes matched substrings using UTF-8 functions that assume valid UTF-8 input, even when the string is treated as raw bytes. This vulnerability can cause a minor information disclosure of 1-5 bytes and a denial of service when the buffer over-read crosses a page boundary.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-58013",
                                "url": "https://ubuntu.com/security/CVE-2026-58013",
                                "cve_description": "A flaw was found in GLib. A buffer over-read can occur in g_io_channel_read_line_backend() in the giochannel.c file when a custom line terminator with a length greater than one is set, causing memcmp to read past the GString buffer. This vulnerability can cause a minor information disclosure of 7 bytes or a denial of service when the buffer over-read crosses a page boundary.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-58014",
                                "url": "https://ubuntu.com/security/CVE-2026-58014",
                                "cve_description": "A flaw was found in GLib. An off-by-one error can occur in the g_key_file_get_locale_string_list function in the gkeyfile.c file when loading a key file with an empty value. This flaw can cause an out-of-bounds access of 1 byte or a denial of service when the out-of-bounds access crosses a page boundary.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-58015",
                                "url": "https://ubuntu.com/security/CVE-2026-58015",
                                "cve_description": "A flaw was found in GLib. The D-Bus client-side implementation of the DBUS_COOKIE_SHA1 SASL authentication mechanism does not validate the cookie_context parameter received from the server. A malicious D-Bus server can supply a cookie_context containing path traversal sequences, causing the client to read an arbitrary file and exfiltrate sensitive data by verifying guessed file contents against a generated hash.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-58016",
                                "url": "https://ubuntu.com/security/CVE-2026-58016",
                                "cve_description": "A flaw was found in GLib. A state confusion issue exists in g_dbus_node_info_new_for_xml() in the gio/gdbusintrospection.c file when processing malformed D-Bus introspection XML, specifically with a `node` element nested within other elements like `method`, `signal`, `property` or `arg`. This issue can cause an unsigned integer overflow and lead to an out-of-bounds read, resulting in a denial of service.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 13:19:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-15588",
                                "url": "https://ubuntu.com/security/CVE-2026-15588",
                                "cve_description": "A denial-of-service and resource exhaustion vulnerability exists within the `GDBus` component of GLib. The `gdbusauth` authentication mechanism fails to enforce proper length limitations on data lines read from a client. An unauthenticated local or remote attacker can exploit this lack of input validation by sending excessively long streams of data, causing the application to consume massive amounts of system memory and CPU, potentially leading to a crash or system hang.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-20 12:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-16118",
                                "url": "https://ubuntu.com/security/CVE-2026-16118",
                                "cve_description": "A flaw was found in xdgmime. A heap-based buffer overflow can be triggered in _xdg_mime_magic_parse_magic_line() in the xdgmimemagic.c file on little-endian systems when an attacker-controlled MIME magic file in a user-writable XDG data location (e.g., in the $XDG_DATA_HOME/mime/magic path) is parsed by an application performing MIME type detection (e.g., via g_content_type_guess()). When performing byte-swap, incorrect pointer arithmetic on the write side causes an out-of-bounds write of 2 bytes, resulting in an application crash or memory corruption.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-17 20:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: off-by-one OOB read in GVariant serialiser",
                            "    - debian/patches/CVE-2026-58010.patch: fix bounds check to use >= instead",
                            "      of > in gvs_tuple_is_normal() in glib/gvariant-serialiser.c.",
                            "    - CVE-2026-58010",
                            "  * SECURITY UPDATE: OOB read in GDateTime",
                            "    - debian/patches/CVE-2026-58011.patch: add missing range validation to",
                            "      g_date_time_add_full() in glib/gdatetime.c.",
                            "    - CVE-2026-58011",
                            "  * SECURITY UPDATE: buffer over-read in g_regex_replace",
                            "    - debian/patches/CVE-2026-58012.patch: fix case-change substitution",
                            "      handling with G_REGEX_RAW in glib/gregex.c.",
                            "    - CVE-2026-58012",
                            "  * SECURITY UPDATE: buffer over-read in GIOChannel",
                            "    - debian/patches/CVE-2026-58013.patch: add length check before memcmp",
                            "      in g_io_channel_read_line_backend() in glib/giochannel.c.",
                            "    - CVE-2026-58013",
                            "  * SECURITY UPDATE: off-by-one heap under-read in GKeyFile",
                            "    - debian/patches/CVE-2026-58014.patch: add len > 0 check before",
                            "      accessing value[len-1] in g_key_file_get_locale_string_list() in",
                            "      glib/gkeyfile.c.",
                            "    - CVE-2026-58014",
                            "  * SECURITY UPDATE: path traversal in DBUS_COOKIE_SHA1 auth",
                            "    - debian/patches/CVE-2026-58015.patch: validate cookie_context parameter",
                            "      to prevent path traversal in gio/gdbusauthmechanismsha1.c.",
                            "    - CVE-2026-58015",
                            "  * SECURITY UPDATE: state confusion in D-Bus introspection XML parser",
                            "    - debian/patches/CVE-2026-58016.patch: fix node element nesting check",
                            "      and add assertions in gio/gdbusintrospection.c.",
                            "    - CVE-2026-58016",
                            "  * SECURITY UPDATE: resource exhaustion in GDBus authentication",
                            "    - debian/patches/CVE-2026-15588.patch: limit length of lines read from",
                            "      client in gio/gdbusauth.c.",
                            "    - CVE-2026-15588",
                            "  * SECURITY UPDATE: heap buffer overflow in xdgmime",
                            "    - debian/patches/CVE-2026-16118.patch: fix pointer arithmetic in",
                            "      byte-swap routine in gio/xdgmime/xdgmimemagic.c.",
                            "    - CVE-2026-16118",
                            ""
                        ],
                        "package": "glib2.0",
                        "version": "2.80.0-6ubuntu3.9",
                        "urgency": "medium",
                        "distributions": "noble-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Leonidas Da Silva Barbosa <leo.barbosa@canonical.com>",
                        "date": "Tue, 08 Sep 2026 14:07:47 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libgssapi-krb5-2",
                "from_version": {
                    "source_package_name": "krb5",
                    "source_package_version": "1.20.1-6ubuntu2.8",
                    "version": "1.20.1-6ubuntu2.8"
                },
                "to_version": {
                    "source_package_name": "krb5",
                    "source_package_version": "1.20.1-6ubuntu2.10",
                    "version": "1.20.1-6ubuntu2.10"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2162744
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/t/control: Don't run kinit-pwexpire on 32-bit architectures",
                            "    The test verifies correct behavior for dates in the far future",
                            "    (~70 years after the time of test), which krb5's date parser",
                            "    only accepts on 64 bit arches.",
                            ""
                        ],
                        "package": "krb5",
                        "version": "1.20.1-6ubuntu2.10",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [],
                        "author": "Grayson Wolf <grayson.wolf@canonical.com>",
                        "date": "Thu, 20 Aug 2026 09:07:25 -0400"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/p/lp2162744-ts-interval.patch: Add ts_interval to accomodate",
                            "    for large time intervals (LP: #2162744)",
                            "  * d/t/kinit-pwexpire: Add test that long PW expiry dates",
                            "    do not overflow and produce wrong messages.",
                            ""
                        ],
                        "package": "krb5",
                        "version": "1.20.1-6ubuntu2.9",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2162744
                        ],
                        "author": "Grayson Wolf <grayson.wolf@canonical.com>",
                        "date": "Tue, 11 Aug 2026 17:30:54 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libk5crypto3",
                "from_version": {
                    "source_package_name": "krb5",
                    "source_package_version": "1.20.1-6ubuntu2.8",
                    "version": "1.20.1-6ubuntu2.8"
                },
                "to_version": {
                    "source_package_name": "krb5",
                    "source_package_version": "1.20.1-6ubuntu2.10",
                    "version": "1.20.1-6ubuntu2.10"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2162744
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/t/control: Don't run kinit-pwexpire on 32-bit architectures",
                            "    The test verifies correct behavior for dates in the far future",
                            "    (~70 years after the time of test), which krb5's date parser",
                            "    only accepts on 64 bit arches.",
                            ""
                        ],
                        "package": "krb5",
                        "version": "1.20.1-6ubuntu2.10",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [],
                        "author": "Grayson Wolf <grayson.wolf@canonical.com>",
                        "date": "Thu, 20 Aug 2026 09:07:25 -0400"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/p/lp2162744-ts-interval.patch: Add ts_interval to accomodate",
                            "    for large time intervals (LP: #2162744)",
                            "  * d/t/kinit-pwexpire: Add test that long PW expiry dates",
                            "    do not overflow and produce wrong messages.",
                            ""
                        ],
                        "package": "krb5",
                        "version": "1.20.1-6ubuntu2.9",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2162744
                        ],
                        "author": "Grayson Wolf <grayson.wolf@canonical.com>",
                        "date": "Tue, 11 Aug 2026 17:30:54 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libkrb5-3",
                "from_version": {
                    "source_package_name": "krb5",
                    "source_package_version": "1.20.1-6ubuntu2.8",
                    "version": "1.20.1-6ubuntu2.8"
                },
                "to_version": {
                    "source_package_name": "krb5",
                    "source_package_version": "1.20.1-6ubuntu2.10",
                    "version": "1.20.1-6ubuntu2.10"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2162744
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/t/control: Don't run kinit-pwexpire on 32-bit architectures",
                            "    The test verifies correct behavior for dates in the far future",
                            "    (~70 years after the time of test), which krb5's date parser",
                            "    only accepts on 64 bit arches.",
                            ""
                        ],
                        "package": "krb5",
                        "version": "1.20.1-6ubuntu2.10",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [],
                        "author": "Grayson Wolf <grayson.wolf@canonical.com>",
                        "date": "Thu, 20 Aug 2026 09:07:25 -0400"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/p/lp2162744-ts-interval.patch: Add ts_interval to accomodate",
                            "    for large time intervals (LP: #2162744)",
                            "  * d/t/kinit-pwexpire: Add test that long PW expiry dates",
                            "    do not overflow and produce wrong messages.",
                            ""
                        ],
                        "package": "krb5",
                        "version": "1.20.1-6ubuntu2.9",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2162744
                        ],
                        "author": "Grayson Wolf <grayson.wolf@canonical.com>",
                        "date": "Tue, 11 Aug 2026 17:30:54 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libkrb5support0",
                "from_version": {
                    "source_package_name": "krb5",
                    "source_package_version": "1.20.1-6ubuntu2.8",
                    "version": "1.20.1-6ubuntu2.8"
                },
                "to_version": {
                    "source_package_name": "krb5",
                    "source_package_version": "1.20.1-6ubuntu2.10",
                    "version": "1.20.1-6ubuntu2.10"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2162744
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/t/control: Don't run kinit-pwexpire on 32-bit architectures",
                            "    The test verifies correct behavior for dates in the far future",
                            "    (~70 years after the time of test), which krb5's date parser",
                            "    only accepts on 64 bit arches.",
                            ""
                        ],
                        "package": "krb5",
                        "version": "1.20.1-6ubuntu2.10",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [],
                        "author": "Grayson Wolf <grayson.wolf@canonical.com>",
                        "date": "Thu, 20 Aug 2026 09:07:25 -0400"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/p/lp2162744-ts-interval.patch: Add ts_interval to accomodate",
                            "    for large time intervals (LP: #2162744)",
                            "  * d/t/kinit-pwexpire: Add test that long PW expiry dates",
                            "    do not overflow and produce wrong messages.",
                            ""
                        ],
                        "package": "krb5",
                        "version": "1.20.1-6ubuntu2.9",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2162744
                        ],
                        "author": "Grayson Wolf <grayson.wolf@canonical.com>",
                        "date": "Tue, 11 Aug 2026 17:30:54 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libnetplan1",
                "from_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.1.2-8ubuntu1~24.04.2",
                    "version": "1.1.2-8ubuntu1~24.04.2"
                },
                "to_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.1.2-8ubuntu1~24.04.3",
                    "version": "1.1.2-8ubuntu1~24.04.3"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2104373
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/p/lp2104373-return-exit-code-1-on-error.patch: return exit code 1 when",
                            "    netplan exits on error (LP: #2104373)",
                            ""
                        ],
                        "package": "netplan.io",
                        "version": "1.1.2-8ubuntu1~24.04.3",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2104373
                        ],
                        "author": "Guilherme Puida Moreira <guilherme.moreira@canonical.com>",
                        "date": "Mon, 31 Aug 2026 09:19:49 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libpython3.12-minimal",
                "from_version": {
                    "source_package_name": "python3.12",
                    "source_package_version": "3.12.3-1ubuntu0.16",
                    "version": "3.12.3-1ubuntu0.16"
                },
                "to_version": {
                    "source_package_name": "python3.12",
                    "source_package_version": "3.12.3-1ubuntu0.17",
                    "version": "3.12.3-1ubuntu0.17"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-4360",
                        "url": "https://ubuntu.com/security/CVE-2026-4360",
                        "cve_description": "In the Tarfile.extract() function, the filter parameter is not passed properly when extracting hardlinks. An affected system that extracts content from untrusted tar files could end up writing files with an unexpected uid/gid despite the user passing filter='data' to the extract() function.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-15308",
                        "url": "https://ubuntu.com/security/CVE-2026-15308",
                        "cve_description": "The incremental HTML parser (html.parser.HTMLParser) allows for CPU denial-of-service through repeated unterminated markup declarations when processing uncontrolled data.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-09 17:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-4360",
                                "url": "https://ubuntu.com/security/CVE-2026-4360",
                                "cve_description": "In the Tarfile.extract() function, the filter parameter is not passed properly when extracting hardlinks. An affected system that extracts content from untrusted tar files could end up writing files with an unexpected uid/gid despite the user passing filter='data' to the extract() function.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-15308",
                                "url": "https://ubuntu.com/security/CVE-2026-15308",
                                "cve_description": "The incremental HTML parser (html.parser.HTMLParser) allows for CPU denial-of-service through repeated unterminated markup declarations when processing uncontrolled data.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-09 17:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Incomplete filter application in tarfile extraction",
                            "    - debian/patches/CVE-2026-4360.patch: pass the filter function through",
                            "      extract() to target extraction in Lib/tarfile.py,",
                            "      Lib/test/test_tarfile.py.",
                            "    - CVE-2026-4360",
                            "  * SECURITY UPDATE: Quadratic complexity in incremental HTML parsing",
                            "    - debian/patches/CVE-2026-15308.patch: fix quadratic complexity in",
                            "      incremental parsing in HTMLParser in Lib/html/parser.py,",
                            "      Lib/test/test_htmlparser.py.",
                            "    - CVE-2026-15308",
                            ""
                        ],
                        "package": "python3.12",
                        "version": "3.12.3-1ubuntu0.17",
                        "urgency": "medium",
                        "distributions": "noble-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Allen Huang <allen.huang@canonical.com>",
                        "date": "Mon, 31 Aug 2026 11:18:26 +0100"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libpython3.12-stdlib",
                "from_version": {
                    "source_package_name": "python3.12",
                    "source_package_version": "3.12.3-1ubuntu0.16",
                    "version": "3.12.3-1ubuntu0.16"
                },
                "to_version": {
                    "source_package_name": "python3.12",
                    "source_package_version": "3.12.3-1ubuntu0.17",
                    "version": "3.12.3-1ubuntu0.17"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-4360",
                        "url": "https://ubuntu.com/security/CVE-2026-4360",
                        "cve_description": "In the Tarfile.extract() function, the filter parameter is not passed properly when extracting hardlinks. An affected system that extracts content from untrusted tar files could end up writing files with an unexpected uid/gid despite the user passing filter='data' to the extract() function.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-15308",
                        "url": "https://ubuntu.com/security/CVE-2026-15308",
                        "cve_description": "The incremental HTML parser (html.parser.HTMLParser) allows for CPU denial-of-service through repeated unterminated markup declarations when processing uncontrolled data.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-09 17:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-4360",
                                "url": "https://ubuntu.com/security/CVE-2026-4360",
                                "cve_description": "In the Tarfile.extract() function, the filter parameter is not passed properly when extracting hardlinks. An affected system that extracts content from untrusted tar files could end up writing files with an unexpected uid/gid despite the user passing filter='data' to the extract() function.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-15308",
                                "url": "https://ubuntu.com/security/CVE-2026-15308",
                                "cve_description": "The incremental HTML parser (html.parser.HTMLParser) allows for CPU denial-of-service through repeated unterminated markup declarations when processing uncontrolled data.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-09 17:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Incomplete filter application in tarfile extraction",
                            "    - debian/patches/CVE-2026-4360.patch: pass the filter function through",
                            "      extract() to target extraction in Lib/tarfile.py,",
                            "      Lib/test/test_tarfile.py.",
                            "    - CVE-2026-4360",
                            "  * SECURITY UPDATE: Quadratic complexity in incremental HTML parsing",
                            "    - debian/patches/CVE-2026-15308.patch: fix quadratic complexity in",
                            "      incremental parsing in HTMLParser in Lib/html/parser.py,",
                            "      Lib/test/test_htmlparser.py.",
                            "    - CVE-2026-15308",
                            ""
                        ],
                        "package": "python3.12",
                        "version": "3.12.3-1ubuntu0.17",
                        "urgency": "medium",
                        "distributions": "noble-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Allen Huang <allen.huang@canonical.com>",
                        "date": "Mon, 31 Aug 2026 11:18:26 +0100"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libsqlite3-0",
                "from_version": {
                    "source_package_name": "sqlite3",
                    "source_package_version": "3.45.1-1ubuntu2.7",
                    "version": "3.45.1-1ubuntu2.7"
                },
                "to_version": {
                    "source_package_name": "sqlite3",
                    "source_package_version": "3.45.1-1ubuntu2.8",
                    "version": "3.45.1-1ubuntu2.8"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-39113",
                        "url": "https://ubuntu.com/security/CVE-2026-39113",
                        "cve_description": "Buffer Overflow vulnerability in SQLite affected version source snapshots/builds containing Fossil check-in 8bdc0d485e3ad0c7a1e818da66f106951d496b05cbe61d12c2c448f2f24b6d5d (Git mirror 169f68ed88b34cb68f720191c64c058f2ccec508, 2026-03-11) and later snapshots/builds allows an attacker to cause a denial of service via the ext/misc/sqlar.c, sqlarUncompressFunc(), sqlar_uncompress(), sqlite3_value_int64(), sqlite3_malloc(int), uncompress() components",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-08-25 21:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-39113",
                                "url": "https://ubuntu.com/security/CVE-2026-39113",
                                "cve_description": "Buffer Overflow vulnerability in SQLite affected version source snapshots/builds containing Fossil check-in 8bdc0d485e3ad0c7a1e818da66f106951d496b05cbe61d12c2c448f2f24b6d5d (Git mirror 169f68ed88b34cb68f720191c64c058f2ccec508, 2026-03-11) and later snapshots/builds allows an attacker to cause a denial of service via the ext/misc/sqlar.c, sqlarUncompressFunc(), sqlar_uncompress(), sqlite3_value_int64(), sqlite3_malloc(int), uncompress() components",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-08-25 21:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: buffer overflow via integer truncation in sqlar extension",
                            "    - debian/patches/CVE-2026-39113.patch: change sqlite3_value_int() to",
                            "      sqlite3_value_int64() in sqlarUncompressFunc() in ext/misc/sqlar.c to",
                            "      prevent 32-bit truncation of the decompressed size, which caused an",
                            "      undersized buffer allocation and heap buffer overflow via uncompress().",
                            "    - CVE-2026-39113",
                            ""
                        ],
                        "package": "sqlite3",
                        "version": "3.45.1-1ubuntu2.8",
                        "urgency": "medium",
                        "distributions": "noble-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Leonidas Da Silva Barbosa <leo.barbosa@canonical.com>",
                        "date": "Thu, 03 Sep 2026 11:45:26 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "linux-image-virtual",
                "from_version": {
                    "source_package_name": "linux-meta",
                    "source_package_version": "6.8.0-139.139",
                    "version": "6.8.0-139.139"
                },
                "to_version": {
                    "source_package_name": "linux-meta",
                    "source_package_version": "6.8.0-142.142",
                    "version": "6.8.0-142.142"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    1786013
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Main version: 6.8.0-142.142",
                            "",
                            "  * Packaging resync (LP: #1786013)",
                            "    - [Packaging] debian/dkms-versions -- resync from main package",
                            ""
                        ],
                        "package": "linux-meta",
                        "version": "6.8.0-142.142",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            1786013
                        ],
                        "author": "Manuel Diewald <manuel.diewald@canonical.com>",
                        "date": "Tue, 01 Sep 2026 23:47:23 +0200"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Main version: 6.8.0-140.140",
                            ""
                        ],
                        "package": "linux-meta",
                        "version": "6.8.0-140.140",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [],
                        "author": "Manuel Diewald <manuel.diewald@canonical.com>",
                        "date": "Fri, 28 Aug 2026 21:20:01 +0200"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "netplan-generator",
                "from_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.1.2-8ubuntu1~24.04.2",
                    "version": "1.1.2-8ubuntu1~24.04.2"
                },
                "to_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.1.2-8ubuntu1~24.04.3",
                    "version": "1.1.2-8ubuntu1~24.04.3"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2104373
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/p/lp2104373-return-exit-code-1-on-error.patch: return exit code 1 when",
                            "    netplan exits on error (LP: #2104373)",
                            ""
                        ],
                        "package": "netplan.io",
                        "version": "1.1.2-8ubuntu1~24.04.3",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2104373
                        ],
                        "author": "Guilherme Puida Moreira <guilherme.moreira@canonical.com>",
                        "date": "Mon, 31 Aug 2026 09:19:49 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "netplan.io",
                "from_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.1.2-8ubuntu1~24.04.2",
                    "version": "1.1.2-8ubuntu1~24.04.2"
                },
                "to_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.1.2-8ubuntu1~24.04.3",
                    "version": "1.1.2-8ubuntu1~24.04.3"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2104373
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/p/lp2104373-return-exit-code-1-on-error.patch: return exit code 1 when",
                            "    netplan exits on error (LP: #2104373)",
                            ""
                        ],
                        "package": "netplan.io",
                        "version": "1.1.2-8ubuntu1~24.04.3",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2104373
                        ],
                        "author": "Guilherme Puida Moreira <guilherme.moreira@canonical.com>",
                        "date": "Mon, 31 Aug 2026 09:19:49 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "perl-base",
                "from_version": {
                    "source_package_name": "perl",
                    "source_package_version": "5.38.2-3.2ubuntu0.4",
                    "version": "5.38.2-3.2ubuntu0.4"
                },
                "to_version": {
                    "source_package_name": "perl",
                    "source_package_version": "5.38.2-3.2ubuntu0.6",
                    "version": "5.38.2-3.2ubuntu0.6"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-15534",
                        "url": "https://ubuntu.com/security/CVE-2026-15534",
                        "cve_description": "Perl versions through 5.45.1 have out-of-bounds heap reads and writes during regular expression matching via an undersized superlinear cache in S_regmatch.  The regex engine's superlinear cache holds one bit per subject position for each participating WHILEM node, so the bit count is the subject length plus one times the number of nodes. Nothing checks that product for positive overflow of the signed 32-bit count: a 286331153 byte subject matched against a pattern with 15 participating nodes stores the count as 14, leaving a two byte cache. The cache is then indexed from the real match position and node number, so reads go past the end of the allocation, and on failure CACHEsayNO sets a bit past it.  A caller that matches an attacker controlled subject of this size against a pattern of this shape can crash the process or corrupt heap memory.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-08-09 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-19487",
                        "url": "https://ubuntu.com/security/CVE-2026-19487",
                        "cve_description": "Perl versions from 5.9.4 before 5.41.9 produce incorrect regular expression match results when a stale failure flag ends the Aho-Corasick prescan early in S_find_byclass.  The prescan walks the subject for positions where the full pattern could match, and the engine tries it from the leftmost one recorded. A failing transition sets the failed flag, and a later successful transition does not clear it, so the prescan reads the stale flag as a failure and stops before it can record a candidate that starts earlier. It takes a subject where one candidate is recorded and a later character then forces a fallback through a fail link that succeeds.  Example:    \"ABCDE\" =~ m/ABCF|BCDE|C/;    # matches C at offset 2, not BCDE   \"ABCDE\" =~ m/ABCF|BCDE|C(G)/; # no match, BCDE missed  An alternation like this can miss input it should match, or match it on the wrong branch, so an access or filtering decision made from the result can be wrong.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-08-13 16:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-15534",
                                "url": "https://ubuntu.com/security/CVE-2026-15534",
                                "cve_description": "Perl versions through 5.45.1 have out-of-bounds heap reads and writes during regular expression matching via an undersized superlinear cache in S_regmatch.  The regex engine's superlinear cache holds one bit per subject position for each participating WHILEM node, so the bit count is the subject length plus one times the number of nodes. Nothing checks that product for positive overflow of the signed 32-bit count: a 286331153 byte subject matched against a pattern with 15 participating nodes stores the count as 14, leaving a two byte cache. The cache is then indexed from the real match position and node number, so reads go past the end of the allocation, and on failure CACHEsayNO sets a bit past it.  A caller that matches an attacker controlled subject of this size against a pattern of this shape can crash the process or corrupt heap memory.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-08-09 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-19487",
                                "url": "https://ubuntu.com/security/CVE-2026-19487",
                                "cve_description": "Perl versions from 5.9.4 before 5.41.9 produce incorrect regular expression match results when a stale failure flag ends the Aho-Corasick prescan early in S_find_byclass.  The prescan walks the subject for positions where the full pattern could match, and the engine tries it from the leftmost one recorded. A failing transition sets the failed flag, and a later successful transition does not clear it, so the prescan reads the stale flag as a failure and stops before it can record a candidate that starts earlier. It takes a subject where one candidate is recorded and a later character then forces a fallback through a fail link that succeeds.  Example:    \"ABCDE\" =~ m/ABCF|BCDE|C/;    # matches C at offset 2, not BCDE   \"ABCDE\" =~ m/ABCF|BCDE|C(G)/; # no match, BCDE missed  An alternation like this can miss input it should match, or match it on the wrong branch, so an access or filtering decision made from the result can be wrong.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-08-13 16:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Out-of-bounds heap read and write during regular",
                            "    expression matching",
                            "    - debian/patches/CVE-2026-15534_1.patch: Make super-linear cache",
                            "      countdown unsigned in regexec.c.",
                            "    - debian/patches/CVE-2026-15534_2.patch: Make superlinear cache 64-bit",
                            "      clean in regexec.c, regexp.h.",
                            "    - CVE-2026-15534",
                            "  * SECURITY UPDATE: Incorrect regular expression matches from stale",
                            "    Aho-Corasick failure flag",
                            "    - debian/patches/CVE-2026-19487.patch: Reset stale failure flag in",
                            "      Aho-Corasick prescan in regexec.c, t/re/re_tests.",
                            "    - CVE-2026-19487",
                            ""
                        ],
                        "package": "perl",
                        "version": "5.38.2-3.2ubuntu0.6",
                        "urgency": "medium",
                        "distributions": "noble-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Shafayat Hossain Majumder <shafayat.majumder@canonical.com>",
                        "date": "Mon, 14 Sep 2026 13:50:06 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "python-apt-common",
                "from_version": {
                    "source_package_name": "python-apt",
                    "source_package_version": "2.7.7ubuntu5.2",
                    "version": "2.7.7ubuntu5.2"
                },
                "to_version": {
                    "source_package_name": "python-apt",
                    "source_package_version": "2.7.7ubuntu5.3",
                    "version": "2.7.7ubuntu5.3"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2166601
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Mirror list update for 24.04.5 (LP: #2166601)",
                            ""
                        ],
                        "package": "python-apt",
                        "version": "2.7.7ubuntu5.3",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2166601
                        ],
                        "author": "Graham Inggs <ginggs@ubuntu.com>",
                        "date": "Sun, 06 Sep 2026 14:01:38 +0000"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "python3-apt",
                "from_version": {
                    "source_package_name": "python-apt",
                    "source_package_version": "2.7.7ubuntu5.2",
                    "version": "2.7.7ubuntu5.2"
                },
                "to_version": {
                    "source_package_name": "python-apt",
                    "source_package_version": "2.7.7ubuntu5.3",
                    "version": "2.7.7ubuntu5.3"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2166601
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Mirror list update for 24.04.5 (LP: #2166601)",
                            ""
                        ],
                        "package": "python-apt",
                        "version": "2.7.7ubuntu5.3",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2166601
                        ],
                        "author": "Graham Inggs <ginggs@ubuntu.com>",
                        "date": "Sun, 06 Sep 2026 14:01:38 +0000"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "python3-distupgrade",
                "from_version": {
                    "source_package_name": "ubuntu-release-upgrader",
                    "source_package_version": "1:24.04.28",
                    "version": "1:24.04.28"
                },
                "to_version": {
                    "source_package_name": "ubuntu-release-upgrader",
                    "source_package_version": "1:24.04.29",
                    "version": "1:24.04.29"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2078579,
                    2166415
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Install dependencies of t64 packages (LP: #2078579)",
                            "  * Run pre-build.sh: updating mirrors (and .po offsets) for point release.",
                            "    (LP: #2166415)",
                            ""
                        ],
                        "package": "ubuntu-release-upgrader",
                        "version": "1:24.04.29",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2078579,
                            2166415
                        ],
                        "author": "Julian Andres Klode <juliank@ubuntu.com>",
                        "date": "Thu, 03 Sep 2026 23:11:07 +0200"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "python3-netplan",
                "from_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.1.2-8ubuntu1~24.04.2",
                    "version": "1.1.2-8ubuntu1~24.04.2"
                },
                "to_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.1.2-8ubuntu1~24.04.3",
                    "version": "1.1.2-8ubuntu1~24.04.3"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2104373
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/p/lp2104373-return-exit-code-1-on-error.patch: return exit code 1 when",
                            "    netplan exits on error (LP: #2104373)",
                            ""
                        ],
                        "package": "netplan.io",
                        "version": "1.1.2-8ubuntu1~24.04.3",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2104373
                        ],
                        "author": "Guilherme Puida Moreira <guilherme.moreira@canonical.com>",
                        "date": "Mon, 31 Aug 2026 09:19:49 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "python3.12",
                "from_version": {
                    "source_package_name": "python3.12",
                    "source_package_version": "3.12.3-1ubuntu0.16",
                    "version": "3.12.3-1ubuntu0.16"
                },
                "to_version": {
                    "source_package_name": "python3.12",
                    "source_package_version": "3.12.3-1ubuntu0.17",
                    "version": "3.12.3-1ubuntu0.17"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-4360",
                        "url": "https://ubuntu.com/security/CVE-2026-4360",
                        "cve_description": "In the Tarfile.extract() function, the filter parameter is not passed properly when extracting hardlinks. An affected system that extracts content from untrusted tar files could end up writing files with an unexpected uid/gid despite the user passing filter='data' to the extract() function.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-15308",
                        "url": "https://ubuntu.com/security/CVE-2026-15308",
                        "cve_description": "The incremental HTML parser (html.parser.HTMLParser) allows for CPU denial-of-service through repeated unterminated markup declarations when processing uncontrolled data.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-09 17:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-4360",
                                "url": "https://ubuntu.com/security/CVE-2026-4360",
                                "cve_description": "In the Tarfile.extract() function, the filter parameter is not passed properly when extracting hardlinks. An affected system that extracts content from untrusted tar files could end up writing files with an unexpected uid/gid despite the user passing filter='data' to the extract() function.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-15308",
                                "url": "https://ubuntu.com/security/CVE-2026-15308",
                                "cve_description": "The incremental HTML parser (html.parser.HTMLParser) allows for CPU denial-of-service through repeated unterminated markup declarations when processing uncontrolled data.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-09 17:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Incomplete filter application in tarfile extraction",
                            "    - debian/patches/CVE-2026-4360.patch: pass the filter function through",
                            "      extract() to target extraction in Lib/tarfile.py,",
                            "      Lib/test/test_tarfile.py.",
                            "    - CVE-2026-4360",
                            "  * SECURITY UPDATE: Quadratic complexity in incremental HTML parsing",
                            "    - debian/patches/CVE-2026-15308.patch: fix quadratic complexity in",
                            "      incremental parsing in HTMLParser in Lib/html/parser.py,",
                            "      Lib/test/test_htmlparser.py.",
                            "    - CVE-2026-15308",
                            ""
                        ],
                        "package": "python3.12",
                        "version": "3.12.3-1ubuntu0.17",
                        "urgency": "medium",
                        "distributions": "noble-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Allen Huang <allen.huang@canonical.com>",
                        "date": "Mon, 31 Aug 2026 11:18:26 +0100"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "python3.12-minimal",
                "from_version": {
                    "source_package_name": "python3.12",
                    "source_package_version": "3.12.3-1ubuntu0.16",
                    "version": "3.12.3-1ubuntu0.16"
                },
                "to_version": {
                    "source_package_name": "python3.12",
                    "source_package_version": "3.12.3-1ubuntu0.17",
                    "version": "3.12.3-1ubuntu0.17"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-4360",
                        "url": "https://ubuntu.com/security/CVE-2026-4360",
                        "cve_description": "In the Tarfile.extract() function, the filter parameter is not passed properly when extracting hardlinks. An affected system that extracts content from untrusted tar files could end up writing files with an unexpected uid/gid despite the user passing filter='data' to the extract() function.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-30 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-15308",
                        "url": "https://ubuntu.com/security/CVE-2026-15308",
                        "cve_description": "The incremental HTML parser (html.parser.HTMLParser) allows for CPU denial-of-service through repeated unterminated markup declarations when processing uncontrolled data.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-09 17:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-4360",
                                "url": "https://ubuntu.com/security/CVE-2026-4360",
                                "cve_description": "In the Tarfile.extract() function, the filter parameter is not passed properly when extracting hardlinks. An affected system that extracts content from untrusted tar files could end up writing files with an unexpected uid/gid despite the user passing filter='data' to the extract() function.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-30 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-15308",
                                "url": "https://ubuntu.com/security/CVE-2026-15308",
                                "cve_description": "The incremental HTML parser (html.parser.HTMLParser) allows for CPU denial-of-service through repeated unterminated markup declarations when processing uncontrolled data.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-09 17:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Incomplete filter application in tarfile extraction",
                            "    - debian/patches/CVE-2026-4360.patch: pass the filter function through",
                            "      extract() to target extraction in Lib/tarfile.py,",
                            "      Lib/test/test_tarfile.py.",
                            "    - CVE-2026-4360",
                            "  * SECURITY UPDATE: Quadratic complexity in incremental HTML parsing",
                            "    - debian/patches/CVE-2026-15308.patch: fix quadratic complexity in",
                            "      incremental parsing in HTMLParser in Lib/html/parser.py,",
                            "      Lib/test/test_htmlparser.py.",
                            "    - CVE-2026-15308",
                            ""
                        ],
                        "package": "python3.12",
                        "version": "3.12.3-1ubuntu0.17",
                        "urgency": "medium",
                        "distributions": "noble-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Allen Huang <allen.huang@canonical.com>",
                        "date": "Mon, 31 Aug 2026 11:18:26 +0100"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "sudo",
                "from_version": {
                    "source_package_name": "sudo",
                    "source_package_version": "1.9.15p5-3ubuntu5.24.04.2",
                    "version": "1.9.15p5-3ubuntu5.24.04.2"
                },
                "to_version": {
                    "source_package_name": "sudo",
                    "source_package_version": "1.9.15p5-3ubuntu5.24.04.3",
                    "version": "1.9.15p5-3ubuntu5.24.04.3"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-82474",
                        "url": "https://ubuntu.com/security/CVE-2026-82474",
                        "cve_description": "Sudo through 1.9.17p2 fails to apply intercept policy checks to the execveat system call in ptrace-based intercept mode. Users permitted to run specific commands can execute denied programs by calling execveat directly or through fexecve, bypassing policy enforcement and logging.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-08-29 17:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-82474",
                                "url": "https://ubuntu.com/security/CVE-2026-82474",
                                "cve_description": "Sudo through 1.9.17p2 fails to apply intercept policy checks to the execveat system call in ptrace-based intercept mode. Users permitted to run specific commands can execute denied programs by calling execveat directly or through fexecve, bypassing policy enforcement and logging.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-08-29 17:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: intercept and log_subcmds bypass via execveat(2)",
                            "    - debian/patches/CVE-2026-82474-pre1.patch: resolve /proc/self/fd/N",
                            "      pathname in get_execve_info().",
                            "    - debian/patches/CVE-2026-82474-pre2.patch: pass correct name to",
                            "      proc_read_link().",
                            "    - debian/patches/CVE-2026-82474.patch: add intercept and log_subcmds",
                            "      support for execveat(2).",
                            "    - debian/patches/CVE-2026-82474-2.patch: error out if we run out of",
                            "      space rewriting pathname.",
                            "    - debian/patches/CVE-2026-82474-3.patch: fix handling of relative paths",
                            "      in the execveat(2) intercept support.",
                            "    - CVE-2026-82474",
                            ""
                        ],
                        "package": "sudo",
                        "version": "1.9.15p5-3ubuntu5.24.04.3",
                        "urgency": "medium",
                        "distributions": "noble-security",
                        "launchpad_bugs_fixed": [],
                        "author": "John Breton <john.breton@canonical.com>",
                        "date": "Mon, 21 Sep 2026 14:37:45 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "ubuntu-release-upgrader-core",
                "from_version": {
                    "source_package_name": "ubuntu-release-upgrader",
                    "source_package_version": "1:24.04.28",
                    "version": "1:24.04.28"
                },
                "to_version": {
                    "source_package_name": "ubuntu-release-upgrader",
                    "source_package_version": "1:24.04.29",
                    "version": "1:24.04.29"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2078579,
                    2166415
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Install dependencies of t64 packages (LP: #2078579)",
                            "  * Run pre-build.sh: updating mirrors (and .po offsets) for point release.",
                            "    (LP: #2166415)",
                            ""
                        ],
                        "package": "ubuntu-release-upgrader",
                        "version": "1:24.04.29",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2078579,
                            2166415
                        ],
                        "author": "Julian Andres Klode <juliank@ubuntu.com>",
                        "date": "Thu, 03 Sep 2026 23:11:07 +0200"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            }
        ],
        "snap": []
    },
    "added": {
        "deb": [
            {
                "name": "linux-image-6.8.0-142-generic",
                "from_version": {
                    "source_package_name": "linux-signed",
                    "source_package_version": "6.8.0-139.139",
                    "version": null
                },
                "to_version": {
                    "source_package_name": "linux-signed",
                    "source_package_version": "6.8.0-142.142",
                    "version": "6.8.0-142.142"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    1786013,
                    1786013
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Main version: 6.8.0-142.142",
                            "",
                            "  * Packaging resync (LP: #1786013)",
                            "    - [Packaging] debian/tracking-bug -- resync from main package",
                            ""
                        ],
                        "package": "linux-signed",
                        "version": "6.8.0-142.142",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            1786013
                        ],
                        "author": "Manuel Diewald <manuel.diewald@canonical.com>",
                        "date": "Tue, 01 Sep 2026 23:47:33 +0200"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Main version: 6.8.0-140.140",
                            "",
                            "  * Packaging resync (LP: #1786013)",
                            "    - [Packaging] debian/tracking-bug -- resync from main package",
                            ""
                        ],
                        "package": "linux-signed",
                        "version": "6.8.0-140.140",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            1786013
                        ],
                        "author": "Manuel Diewald <manuel.diewald@canonical.com>",
                        "date": "Fri, 28 Aug 2026 21:20:13 +0200"
                    }
                ],
                "notes": "linux-image-6.8.0-142-generic version '6.8.0-142.142' (source package linux-signed version '6.8.0-142.142') was added. linux-image-6.8.0-142-generic version '6.8.0-142.142' has the same source package name, linux-signed, as removed package linux-image-6.8.0-139-generic. As such we can use the source package version of the removed package, '6.8.0-139.139', as the starting point in our changelog diff. Kernel packages are an example of where the binary package name changes for the same source package. Using the removed package source package version as our starting point means we can still get meaningful changelog diffs even for what appears to be a new package.",
                "is_version_downgrade": false
            },
            {
                "name": "linux-modules-6.8.0-142-generic",
                "from_version": {
                    "source_package_name": "linux",
                    "source_package_version": "6.8.0-139.139",
                    "version": null
                },
                "to_version": {
                    "source_package_name": "linux",
                    "source_package_version": "6.8.0-142.142",
                    "version": "6.8.0-142.142"
                },
                "cves": [
                    {
                        "cve": "CVE-2025-10263",
                        "url": "https://ubuntu.com/security/CVE-2025-10263",
                        "cve_description": "Arm C1-Ultra, C1-Premium, Neoverse V3 & V3AE, Neoverse V2, Neoverse V1, Neoverse-N2, Neoverse-N1, Cortex-X925, Cortex-X4, Cortex-X3, Cortex-X2, Cortex-X1 & X1C, Cortex-A710, Cortex-A78, A78AE & A78C, Cortex-A77, Cortex-A76 & A76A may allow writes to resources owned by a higher exception level.",
                        "cve_priority": "high",
                        "cve_public_date": "2026-06-09 10:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-53354",
                        "url": "https://ubuntu.com/security/CVE-2026-53354",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: errata: Mitigate TLBI errata on various Arm CPUs  A number of CPUs developed by Arm suffer from errata whereby a broadcast TLBI;DSB sequence may complete before the global observation of writes which are translated by an affected TLB entry.  These errata ONLY affect the completion of memory accesses which have been translated by an invalidated TLB entry, and these errata DO NOT affect the actual invalidation of TLB entries. TLB entries are removed correctly.  This issue has been assigned CVE ID CVE-2025-10263.  To mitigate this issue, Arm recommends that software follows any affected TLBI;DSB sequence with an additional TLBI;DSB, which will ensure that all memory write effects affected by the first TLBI have been globally observed. The additional TLBI can use any operation that is broadcast to affected CPUs, and the additional DSB can use any option that is sufficient to complete the additional TLBI.  The ARM64_WORKAROUND_REPEAT_TLBI workaround is sufficient to mitigate the issue. Enable this workaround for affected CPUs, and update the silicon errata documentation accordingly.  Note that due to the manner in which Arm develops IP and tracks errata, some CPUs share a common erratum number.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-01 14:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-53355",
                        "url": "https://ubuntu.com/security/CVE-2026-53355",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rds: clear i_sends on setup unwind  The RDS IB connection teardown path is written so it can run during partial startup and on repeated shutdown attempts. It uses NULL pointers to distinguish resources that are still owned from resources that have already been released.  When rds_ib_setup_qp() fails after allocating i_sends but before allocating i_recvs, the sends_out path frees i_sends without clearing the pointer. A later shutdown pass can still treat that stale pointer as a live send ring allocation.  Clear i_sends after vfree() in the error unwind path so the existing shutdown logic continues to use the correct ownership state.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-01 14:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-53186",
                        "url": "https://ubuntu.com/security/CVE-2026-53186",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/srp: bound SRP_RSP sense copy by the received length  srp_process_rsp() copies sense data from rsp->data + resp_data_len, where resp_data_len is the full 32-bit value supplied by the SRP target and is never checked against the number of bytes actually received (wc->byte_len). The copy length is bounded to SCSI_SENSE_BUFFERSIZE, so at most 96 bytes are copied, but the source offset is not bounded.  A malicious or compromised SRP target on the InfiniBand/RoCE fabric that the initiator has logged into can return an SRP_RSP with SRP_RSP_FLAG_SNSVALID set and a large resp_data_len. The receive buffer is allocated at the target-chosen max_ti_iu_len, so the source of the sense copy lands past the bytes actually received; with resp_data_len near 0xFFFFFFFF it is gigabytes past the buffer and the read faults.  Copy the sense data only if it has not been truncated, that is, only if the response header, the response data, and the sense region fit within the bytes actually received; otherwise drop the sense and log. The in-tree iSER and NVMe-RDMA receive paths already bound their parse by wc->byte_len; this brings ib_srp into line with them.",
                        "cve_priority": "high",
                        "cve_public_date": "2026-06-25 09:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-53216",
                        "url": "https://ubuntu.com/security/CVE-2026-53216",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: mvpp2: limit XDP frame size to the RX buffer  mvpp2 has short and long BM pools, and short pool buffers can be smaller than PAGE_SIZE. The XDP path nevertheless initializes every xdp_buff with PAGE_SIZE as frame size.  XDP helpers use frame_sz to validate tail growth and to derive the hard end of the data area. Advertising PAGE_SIZE for short buffers can let bpf_xdp_adjust_tail() grow a packet past the real allocation, corrupting memory or later tripping skb tailroom checks.  Initialize the XDP buffer with bm_pool->frag_size so XDP tailroom matches the actual buffer backing the packet.",
                        "cve_priority": "low",
                        "cve_public_date": "2026-06-25 09:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-63888",
                        "url": "https://ubuntu.com/security/CVE-2026-63888",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: iscsi: Fix CRC overread and double-free in iscsit_handle_text_cmd()  Two latent bugs in the Text-phase handler, both present since the original LIO integration in commit e48354ce078c (\"iscsi-target: Add iSCSI fabric support for target v4.1\"):  1) DataDigest CRC buffer overread (4 bytes past text_in).     text_in is kzalloc()'d at ALIGN(payload_length, 4).  rx_size is then    incremented by ISCSI_CRC_LEN to make room for the received DataDigest    in the iovec, but the same (now-bumped) rx_size is passed as the    buffer length to iscsit_crc_buf():         if (conn->conn_ops->DataDigest) {                ...                rx_size += ISCSI_CRC_LEN;        }        ...        if (conn->conn_ops->DataDigest) {                data_crc = iscsit_crc_buf(text_in, rx_size, 0, NULL);     iscsit_crc_buf() walks rx_size bytes of text_in with crc32c(), so    when DataDigest is negotiated it reads 4 bytes past the end of the    text_in allocation.  KASAN reproduces this directly on the unpatched    mainline tree as slab-out-of-bounds in crc32c() called from the Text    PDU path.  The OOB bytes feed crc32c() and are then compared against    the initiator-supplied checksum, so the value does not flow back to    the attacker, but the kernel does read past the buffer on every Text    PDU with DataDigest=CRC32C.     Fix by passing the actual padded payload length    (ALIGN(payload_length, 4)) that was used for the kzalloc().  2) Stale cmd->text_in_ptr re-free (double-free) on ERL>0 bad DataDigest    drop.     On DataDigest mismatch with ErrorRecoveryLevel > 0 the handler    silently drops the PDU and lets the initiator plug the CmdSN gap:                 kfree(text_in);                return 0;     cmd->text_in_ptr still points at the freed buffer.  The next Text    Request on the same ITT re-enters iscsit_setup_text_cmd(), which    unconditionally does         kfree(cmd->text_in_ptr);        cmd->text_in_ptr = NULL;     freeing the same pointer a second time.  Session teardown via    iscsit_release_cmd() has the same shape and hits the same double-free    if the connection is dropped before a second Text Request arrives.     On an unmodified mainline tree the bug-1 CRC overread fires first on    the initial valid Text Request and perturbs the subsequent state, so    #4 was isolated by building a kernel with only the bug-1 hunk of this    patch applied plus temporary printk() observability around the three    relevant kfree() sites.  The observability prints are not part of    this patch.  On that build, a three-PDU Text Request sequence after    login produces two back-to-back splats:         BUG: KASAN: double-free in iscsit_setup_text_cmd+0x??        BUG: KASAN: double-free in iscsit_release_cmd+0x??     showing the same pointer freed in the ERL>0 drop path and again in    iscsit_setup_text_cmd() (next Text Request on the same ITT) and once    more in iscsit_release_cmd() (session teardown).  On distro kernels    with CONFIG_SLAB_FREELIST_HARDENED=y (default) the double-free    becomes a remote kernel BUG(); on non-hardened kernels it corrupts    the slab freelist.     Fix by clearing cmd->text_in_ptr after the kfree() in the ERL>0 drop    path.  With both hunks applied #4 is directly observable on the stock    tree without observability printks; fixing bug-1 alone would mask #4    less, not more, so the hunks are submitted together.  Both fixes are one-liners.  The Text PDU state machine is unchanged and the wire protocol is unaffected.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-63886",
                        "url": "https://ubuntu.com/security/CVE-2026-63886",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: iscsi: Validate CHAP_R length before base64 decode  chap_server_compute_hash() allocates client_digest as kzalloc(chap->digest_size) and then, for BASE64-encoded responses, passes chap_r directly to chap_base64_decode() without checking whether the input length could produce more than digest_size bytes of output.  chap_base64_decode() writes to the destination unconditionally as long as there is input to consume. With MAX_RESPONSE_LENGTH set to 128 and the \"0b\" prefix stripped by extract_param(), up to 127 base64 characters can reach the decoder. 127 characters decode to 95 bytes. For SHA-256 (digest_size=32) this overflows client_digest by 63 bytes; for MD5 (digest_size=16) the overflow is 79 bytes.  The length check at line 344 fires after the write has already happened.  The HEX branch in the same switch statement already validates the length up front. Apply the same approach to the BASE64 branch: strip trailing base64 padding characters, then reject any input whose data length exceeds DIV_ROUND_UP(digest_size * 4, 3) before calling the decoder.  Stripping trailing '=' before the comparison handles both padded and unpadded encodings. chap_base64_decode() already returns early on '=', so the full original string is still passed to the decoder unchanged.  The mutual CHAP path decodes CHAP_C into initiatorchg_binhex, which is kzalloc(CHAP_CHALLENGE_STR_LEN). extract_param() caps initiatorchg at CHAP_CHALLENGE_STR_LEN characters, so at most CHAP_CHALLENGE_STR_LEN-1 base64 characters reach the decoder. The maximum decoded size, DIV_ROUND_UP((CHAP_CHALLENGE_STR_LEN-1) * 3, 4), is less than CHAP_CHALLENGE_STR_LEN, so no overflow is possible there. A comment is added at the call site to document this.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-63887",
                        "url": "https://ubuntu.com/security/CVE-2026-63887",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: iscsi: Bound iscsi_encode_text_output() appends to rsp_buf  iscsi_encode_text_output() concatenates \"key=value\\0\" records into login->rsp_buf, an 8192-byte kzalloc(MAX_KEY_VALUE_PAIRS) buffer allocated in iscsit_alloc_login_setup_buffer(). The three sprintf() call sites in this function (lines 1398, 1411, 1424 in v7.1-rc2) never check the remaining buffer capacity:  \t*length += sprintf(output_buf, \"%s=%s\", er->key, er->value); \t*length += 1; \toutput_buf = textbuf + *length;  The 8192-byte ceiling at iscsi_target_check_login_request() bounds the *input* Login PDU payload, but a single PDU can carry up to 2048 minimal four-byte \"a=b\\0\" pairs, each unknown key expanding to a 16-byte \"a=NotUnderstood\\0\" output record via iscsi_add_notunderstood_response(). 2048 * 16 = 32 KiB of output into an 8 KiB buffer, producing a ~24 KiB heap overrun in the kmalloc-8k slab.  The fix introduces a static iscsi_encode_text_record() helper that uses snprintf() with a per-call bounds check against the remaining buffer, and threads a u32 textbuf_size parameter through iscsi_encode_text_output(). Both call sites in iscsi_target_handle_csg_zero() (PHASE_SECURITY) and iscsi_target_handle_csg_one() (PHASE_OPERATIONAL) pass MAX_KEY_VALUE_PAIRS. On overflow the encoder logs the condition, calls iscsi_release_extra_responses() to drop queued records, and returns -1; both caller sites now emit ISCSI_STATUS_CLS_INITIATOR_ERR / ISCSI_LOGIN_STATUS_INIT_ERR via iscsit_tx_login_rsp() before returning, so the initiator sees an explicit failed-login response rather than a silent connection drop. (Prior to this patch only the PHASE_OPERATIONAL caller did that; the PHASE_SECURITY caller is converted to the same shape.)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-63912",
                        "url": "https://ubuntu.com/security/CVE-2026-63912",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfrm: esp: restore combined single-frag length gate  The ESP out-of-place fast path appends the trailer in esp_output_head() before esp_output_tail() allocates the destination page frag. The head-side gate currently checks skb->data_len and tailen separately, but the tail code allocates a single destination frag from the combined post-trailer skb->data_len.  Reject the page-frag fast path when the combined aligned length exceeds a page. Otherwise skb_page_frag_refill() may fall back to a single page while the destination sg still spans the combined skb->data_len.  Restore this combined-length page gate for both IPv4 and IPv6.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-63922",
                        "url": "https://ubuntu.com/security/CVE-2026-63922",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: exthdrs: refresh nh after handling HAO option  ip6_parse_tlv() caches skb_network_header(skb) in nh while walking IPv6 TLVs.  ipv6_dest_hao() may call pskb_expand_head() for a cloned skb, which can move the skb head and invalidate the cached network header pointer. Refresh nh after ipv6_dest_hao() returns so any trailing padding or TLVs are parsed from the current skb head.  This matches the existing pattern used in ip6_parse_tlv() after helpers that can modify skb header storage.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-63924",
                        "url": "https://ubuntu.com/security/CVE-2026-63924",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: exthdrs: refresh nh pointer after ipv6_hop_jumbo()  ipv6_hop_jumbo() calls pskb_trim_rcsum(), which can change skb pointers. Let's recompute nh pointer to make sure any change won't mess things up.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-64091",
                        "url": "https://ubuntu.com/security/CVE-2026-64091",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  batman-adv: tt: fix TOCTOU race for reported vlans  The local TT based TVLV is generated by first checking the number of VLANs which have at least one TT entry. A new buffer with the correct size for the VLANs is then allocated. Only then, the list of VLANs s used to fill the VLAN entries in the buffer. During this time, the meshif_vlan_list_lock is held. But the actual number of TT entries of each VLAN can still increase during this time - just not the number of VLANs in the list.  But the prefilter used in the buffer size calculation might still cause an increase of the number of VLANs which need to be stored. Simply because a VLAN might now suddenly have at least one entry when it had none in the pre-alloc check - and then needs to occupy space which was not allocated.  It is better to overestimate the buffer size at the beginning and then fill the buffer only with the VLANs which are not empty.",
                        "cve_priority": "high",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-63984",
                        "url": "https://ubuntu.com/security/CVE-2026-63984",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: rpl: fix hdrlen overflow in ipv6_rpl_srh_decompress()  ipv6_rpl_srh_decompress() computes:      outhdr->hdrlen = (((n + 1) * sizeof(struct in6_addr)) >> 3);  hdrlen is __u8. For n >= 127 the result exceeds 255 and silently truncates. With n=127 (cmpri=15, cmpre=15, pad=0, hdrlen=16):      (128 * 16) >> 3 = 256, truncated to 0 as __u8  The caller in ipv6_rpl_srh_rcv() then places the compressed header at buf + ((ohdr->hdrlen + 1) << 3). With hdrlen=0 this is buf + 8, but the decompressed region occupies buf[0..2055] (8-byte header plus 128 full addresses). The compressed header overlaps the decompressed data, and ipv6_rpl_srh_compress() writes into this overlap, corrupting the routing header of the forwarded packet.  The existing guard at exthdrs.c:546 checks (n + 1) > 255, which prevents n+1 from overflowing unsigned char (the segments_left field), but does not prevent the computed hdrlen from overflowing __u8. n=127 passes because 128 <= 255, yet hdrlen=256 does not fit.  Tighten the bound to (n + 1) > 127. This caps n at 126, giving hdrlen = (127 * 16) >> 3 = 254, which fits in __u8. The compressed header then lands at buf + ((254 + 1) << 3) = buf + 2040, exactly past the decompressed region (buf[0..2039]). No overlap. 127 segments is well beyond any realistic RPL deployment.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-63992",
                        "url": "https://ubuntu.com/security/CVE-2026-63992",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tunnels: do not assume transport header in iptunnel_pmtud_check_icmp()  In some cases, iptunnel_pmtud_check_icmp() can be called while skb transport header is not set.  This triggers an out-of-bound access, because (typeof(skb->transport_header))~0U is 65535.  Access the icmp header based on IPv4 network header, after making sure icmp->type is present in skb linear part.  Note that iptunnel_pmtud_check_icmpv6()) is fine.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-63993",
                        "url": "https://ubuntu.com/security/CVE-2026-63993",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  vxlan: do not reuse cached ip_hdr() value after skb_tunnel_check_pmtu()  skb_tunnel_check_pmtu() can change skb->head.  Reusing old_iph afer skb_tunnel_check_pmtu() can cause an UAF.  Use instead ip_hdr(skb) as done in drivers/net/bareudp.c and drivers/net/geneve.c.  Found by Sashiko.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-63994",
                        "url": "https://ubuntu.com/security/CVE-2026-63994",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tunnels: load network headers after skb_cow() in iptunnel_pmtud_build_icmp[v6]()  Sashiko found that iptunnel_pmtud_build_icmp() and iptunnel_pmtud_build_icmpv6() were caching ip_hdr() and ipv6_hdr() before an skb_cow() call which can reallocate skb->head.  Fix this possible UAF by initializing the local variables after the skb_cow() call.  Remove skb_reset_network_header() calls which were not needed.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-64000",
                        "url": "https://ubuntu.com/security/CVE-2026-64000",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hsr: fix potential OOB access in supervision frame handling  Ensure the entire TLV header is linearized before access by adding sizeof(struct hsr_sup_tlv) to the pskb_may_pull() calls. Without this, a truncated frame could cause an out-of-bounds access.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-64007",
                        "url": "https://ubuntu.com/security/CVE-2026-64007",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: synproxy: refresh tcphdr after skb_ensure_writable  synproxy_tstamp_adjust() rewrites the TCP timestamp option in place and then patches the TCP checksum via inet_proto_csum_replace4() on the caller-supplied tcphdr pointer.  Both ipv4_synproxy_hook() and ipv6_synproxy_hook() obtain that pointer with skb_header_pointer() before calling in, so it may either alias skb->head directly or point at the caller's on-stack _tcph buffer.  Between obtaining the pointer and using it, the function calls skb_ensure_writable(skb, optend), which on a cloned or non-linear skb invokes pskb_expand_head() and frees the old skb->head.  After that point the cached th is stale:      caller (ipv[46]_synproxy_hook)       th = skb_header_pointer(skb, ..., &_tcph)       synproxy_tstamp_adjust(skb, protoff, th, ...)         skb_ensure_writable(skb, optend)           pskb_expand_head()        /* kfree(old skb->head) */         ...         inet_proto_csum_replace4(&th->check, ...)                                     /* writes into freed head, or                                        into the caller's stack copy                                        leaving the on-wire checksum                                        stale */  The option bytes are written through skb->data and are fine; only the checksum update goes through th and so lands in the wrong place.  The result is either a write into freed slab memory or a packet leaving with a checksum that does not match its payload.  Fix by re-deriving th from skb->data + protoff immediately after skb_ensure_writable() succeeds, so the subsequent checksum update targets the linear, writable header.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-07-19 16:17:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-53221",
                        "url": "https://ubuntu.com/security/CVE-2026-53221",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_vti: fix incorrect tunnel matching in vti6_tnl_lookup()  In vti6_tnl_lookup(), when an exact match for a tunnel fails, the code falls back to searching for wildcard tunnels:  - Tunnels matching the packet's local address, with any remote address   wildcard remote).  - Tunnels matching the packet's remote address, with any local address   (wildcard local).  However, vti6 stores all these different types of tunnels in the same hash table (ip6n->tnls_r_l) prone to hash collisions.  The bug is that the fallback search loops in vti6_tnl_lookup() were missing checks to ensure that the candidate tunnel actually has a wildcard address.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-25 09:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-53131",
                        "url": "https://ubuntu.com/security/CVE-2026-53131",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: require Ethernet MAC header before using eth_hdr()  `ip6t_eui64`, `xt_mac`, the `bitmap:ip,mac`, `hash:ip,mac`, and `hash:mac` ipset types, and `nf_log_syslog` access `eth_hdr(skb)` after either assuming that the skb is associated with an Ethernet device or checking only that the `ETH_HLEN` bytes at `skb_mac_header(skb)` lie between `skb->head` and `skb->data`.  Make these paths first verify that the skb is associated with an Ethernet device, that the MAC header was set, and that it spans at least a full Ethernet header before accessing `eth_hdr(skb)`.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-06-25 09:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [
                    2165997,
                    1786013,
                    2165716
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * noble/linux: 6.8.0-142.142 -proposed tracker (LP: #2165997)",
                            "",
                            "  * Packaging resync (LP: #1786013)",
                            "    - [Packaging] debian.master/dkms-versions -- update from kernel-versions",
                            "      (main/s2026.08.03)",
                            ""
                        ],
                        "package": "linux",
                        "version": "6.8.0-142.142",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2165997,
                            1786013
                        ],
                        "author": "Manuel Diewald <manuel.diewald@canonical.com>",
                        "date": "Tue, 01 Sep 2026 20:33:36 +0200"
                    },
                    {
                        "cves": [
                            {
                                "cve": "CVE-2025-10263",
                                "url": "https://ubuntu.com/security/CVE-2025-10263",
                                "cve_description": "Arm C1-Ultra, C1-Premium, Neoverse V3 & V3AE, Neoverse V2, Neoverse V1, Neoverse-N2, Neoverse-N1, Cortex-X925, Cortex-X4, Cortex-X3, Cortex-X2, Cortex-X1 & X1C, Cortex-A710, Cortex-A78, A78AE & A78C, Cortex-A77, Cortex-A76 & A76A may allow writes to resources owned by a higher exception level.",
                                "cve_priority": "high",
                                "cve_public_date": "2026-06-09 10:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-53354",
                                "url": "https://ubuntu.com/security/CVE-2026-53354",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  arm64: errata: Mitigate TLBI errata on various Arm CPUs  A number of CPUs developed by Arm suffer from errata whereby a broadcast TLBI;DSB sequence may complete before the global observation of writes which are translated by an affected TLB entry.  These errata ONLY affect the completion of memory accesses which have been translated by an invalidated TLB entry, and these errata DO NOT affect the actual invalidation of TLB entries. TLB entries are removed correctly.  This issue has been assigned CVE ID CVE-2025-10263.  To mitigate this issue, Arm recommends that software follows any affected TLBI;DSB sequence with an additional TLBI;DSB, which will ensure that all memory write effects affected by the first TLBI have been globally observed. The additional TLBI can use any operation that is broadcast to affected CPUs, and the additional DSB can use any option that is sufficient to complete the additional TLBI.  The ARM64_WORKAROUND_REPEAT_TLBI workaround is sufficient to mitigate the issue. Enable this workaround for affected CPUs, and update the silicon errata documentation accordingly.  Note that due to the manner in which Arm develops IP and tracks errata, some CPUs share a common erratum number.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-01 14:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-53355",
                                "url": "https://ubuntu.com/security/CVE-2026-53355",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rds: clear i_sends on setup unwind  The RDS IB connection teardown path is written so it can run during partial startup and on repeated shutdown attempts. It uses NULL pointers to distinguish resources that are still owned from resources that have already been released.  When rds_ib_setup_qp() fails after allocating i_sends but before allocating i_recvs, the sends_out path frees i_sends without clearing the pointer. A later shutdown pass can still treat that stale pointer as a live send ring allocation.  Clear i_sends after vfree() in the error unwind path so the existing shutdown logic continues to use the correct ownership state.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-01 14:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-53186",
                                "url": "https://ubuntu.com/security/CVE-2026-53186",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/srp: bound SRP_RSP sense copy by the received length  srp_process_rsp() copies sense data from rsp->data + resp_data_len, where resp_data_len is the full 32-bit value supplied by the SRP target and is never checked against the number of bytes actually received (wc->byte_len). The copy length is bounded to SCSI_SENSE_BUFFERSIZE, so at most 96 bytes are copied, but the source offset is not bounded.  A malicious or compromised SRP target on the InfiniBand/RoCE fabric that the initiator has logged into can return an SRP_RSP with SRP_RSP_FLAG_SNSVALID set and a large resp_data_len. The receive buffer is allocated at the target-chosen max_ti_iu_len, so the source of the sense copy lands past the bytes actually received; with resp_data_len near 0xFFFFFFFF it is gigabytes past the buffer and the read faults.  Copy the sense data only if it has not been truncated, that is, only if the response header, the response data, and the sense region fit within the bytes actually received; otherwise drop the sense and log. The in-tree iSER and NVMe-RDMA receive paths already bound their parse by wc->byte_len; this brings ib_srp into line with them.",
                                "cve_priority": "high",
                                "cve_public_date": "2026-06-25 09:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-53216",
                                "url": "https://ubuntu.com/security/CVE-2026-53216",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: mvpp2: limit XDP frame size to the RX buffer  mvpp2 has short and long BM pools, and short pool buffers can be smaller than PAGE_SIZE. The XDP path nevertheless initializes every xdp_buff with PAGE_SIZE as frame size.  XDP helpers use frame_sz to validate tail growth and to derive the hard end of the data area. Advertising PAGE_SIZE for short buffers can let bpf_xdp_adjust_tail() grow a packet past the real allocation, corrupting memory or later tripping skb tailroom checks.  Initialize the XDP buffer with bm_pool->frag_size so XDP tailroom matches the actual buffer backing the packet.",
                                "cve_priority": "low",
                                "cve_public_date": "2026-06-25 09:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-63888",
                                "url": "https://ubuntu.com/security/CVE-2026-63888",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: iscsi: Fix CRC overread and double-free in iscsit_handle_text_cmd()  Two latent bugs in the Text-phase handler, both present since the original LIO integration in commit e48354ce078c (\"iscsi-target: Add iSCSI fabric support for target v4.1\"):  1) DataDigest CRC buffer overread (4 bytes past text_in).     text_in is kzalloc()'d at ALIGN(payload_length, 4).  rx_size is then    incremented by ISCSI_CRC_LEN to make room for the received DataDigest    in the iovec, but the same (now-bumped) rx_size is passed as the    buffer length to iscsit_crc_buf():         if (conn->conn_ops->DataDigest) {                ...                rx_size += ISCSI_CRC_LEN;        }        ...        if (conn->conn_ops->DataDigest) {                data_crc = iscsit_crc_buf(text_in, rx_size, 0, NULL);     iscsit_crc_buf() walks rx_size bytes of text_in with crc32c(), so    when DataDigest is negotiated it reads 4 bytes past the end of the    text_in allocation.  KASAN reproduces this directly on the unpatched    mainline tree as slab-out-of-bounds in crc32c() called from the Text    PDU path.  The OOB bytes feed crc32c() and are then compared against    the initiator-supplied checksum, so the value does not flow back to    the attacker, but the kernel does read past the buffer on every Text    PDU with DataDigest=CRC32C.     Fix by passing the actual padded payload length    (ALIGN(payload_length, 4)) that was used for the kzalloc().  2) Stale cmd->text_in_ptr re-free (double-free) on ERL>0 bad DataDigest    drop.     On DataDigest mismatch with ErrorRecoveryLevel > 0 the handler    silently drops the PDU and lets the initiator plug the CmdSN gap:                 kfree(text_in);                return 0;     cmd->text_in_ptr still points at the freed buffer.  The next Text    Request on the same ITT re-enters iscsit_setup_text_cmd(), which    unconditionally does         kfree(cmd->text_in_ptr);        cmd->text_in_ptr = NULL;     freeing the same pointer a second time.  Session teardown via    iscsit_release_cmd() has the same shape and hits the same double-free    if the connection is dropped before a second Text Request arrives.     On an unmodified mainline tree the bug-1 CRC overread fires first on    the initial valid Text Request and perturbs the subsequent state, so    #4 was isolated by building a kernel with only the bug-1 hunk of this    patch applied plus temporary printk() observability around the three    relevant kfree() sites.  The observability prints are not part of    this patch.  On that build, a three-PDU Text Request sequence after    login produces two back-to-back splats:         BUG: KASAN: double-free in iscsit_setup_text_cmd+0x??        BUG: KASAN: double-free in iscsit_release_cmd+0x??     showing the same pointer freed in the ERL>0 drop path and again in    iscsit_setup_text_cmd() (next Text Request on the same ITT) and once    more in iscsit_release_cmd() (session teardown).  On distro kernels    with CONFIG_SLAB_FREELIST_HARDENED=y (default) the double-free    becomes a remote kernel BUG(); on non-hardened kernels it corrupts    the slab freelist.     Fix by clearing cmd->text_in_ptr after the kfree() in the ERL>0 drop    path.  With both hunks applied #4 is directly observable on the stock    tree without observability printks; fixing bug-1 alone would mask #4    less, not more, so the hunks are submitted together.  Both fixes are one-liners.  The Text PDU state machine is unchanged and the wire protocol is unaffected.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-63886",
                                "url": "https://ubuntu.com/security/CVE-2026-63886",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: iscsi: Validate CHAP_R length before base64 decode  chap_server_compute_hash() allocates client_digest as kzalloc(chap->digest_size) and then, for BASE64-encoded responses, passes chap_r directly to chap_base64_decode() without checking whether the input length could produce more than digest_size bytes of output.  chap_base64_decode() writes to the destination unconditionally as long as there is input to consume. With MAX_RESPONSE_LENGTH set to 128 and the \"0b\" prefix stripped by extract_param(), up to 127 base64 characters can reach the decoder. 127 characters decode to 95 bytes. For SHA-256 (digest_size=32) this overflows client_digest by 63 bytes; for MD5 (digest_size=16) the overflow is 79 bytes.  The length check at line 344 fires after the write has already happened.  The HEX branch in the same switch statement already validates the length up front. Apply the same approach to the BASE64 branch: strip trailing base64 padding characters, then reject any input whose data length exceeds DIV_ROUND_UP(digest_size * 4, 3) before calling the decoder.  Stripping trailing '=' before the comparison handles both padded and unpadded encodings. chap_base64_decode() already returns early on '=', so the full original string is still passed to the decoder unchanged.  The mutual CHAP path decodes CHAP_C into initiatorchg_binhex, which is kzalloc(CHAP_CHALLENGE_STR_LEN). extract_param() caps initiatorchg at CHAP_CHALLENGE_STR_LEN characters, so at most CHAP_CHALLENGE_STR_LEN-1 base64 characters reach the decoder. The maximum decoded size, DIV_ROUND_UP((CHAP_CHALLENGE_STR_LEN-1) * 3, 4), is less than CHAP_CHALLENGE_STR_LEN, so no overflow is possible there. A comment is added at the call site to document this.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-63887",
                                "url": "https://ubuntu.com/security/CVE-2026-63887",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: iscsi: Bound iscsi_encode_text_output() appends to rsp_buf  iscsi_encode_text_output() concatenates \"key=value\\0\" records into login->rsp_buf, an 8192-byte kzalloc(MAX_KEY_VALUE_PAIRS) buffer allocated in iscsit_alloc_login_setup_buffer(). The three sprintf() call sites in this function (lines 1398, 1411, 1424 in v7.1-rc2) never check the remaining buffer capacity:  \t*length += sprintf(output_buf, \"%s=%s\", er->key, er->value); \t*length += 1; \toutput_buf = textbuf + *length;  The 8192-byte ceiling at iscsi_target_check_login_request() bounds the *input* Login PDU payload, but a single PDU can carry up to 2048 minimal four-byte \"a=b\\0\" pairs, each unknown key expanding to a 16-byte \"a=NotUnderstood\\0\" output record via iscsi_add_notunderstood_response(). 2048 * 16 = 32 KiB of output into an 8 KiB buffer, producing a ~24 KiB heap overrun in the kmalloc-8k slab.  The fix introduces a static iscsi_encode_text_record() helper that uses snprintf() with a per-call bounds check against the remaining buffer, and threads a u32 textbuf_size parameter through iscsi_encode_text_output(). Both call sites in iscsi_target_handle_csg_zero() (PHASE_SECURITY) and iscsi_target_handle_csg_one() (PHASE_OPERATIONAL) pass MAX_KEY_VALUE_PAIRS. On overflow the encoder logs the condition, calls iscsi_release_extra_responses() to drop queued records, and returns -1; both caller sites now emit ISCSI_STATUS_CLS_INITIATOR_ERR / ISCSI_LOGIN_STATUS_INIT_ERR via iscsit_tx_login_rsp() before returning, so the initiator sees an explicit failed-login response rather than a silent connection drop. (Prior to this patch only the PHASE_OPERATIONAL caller did that; the PHASE_SECURITY caller is converted to the same shape.)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-63912",
                                "url": "https://ubuntu.com/security/CVE-2026-63912",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfrm: esp: restore combined single-frag length gate  The ESP out-of-place fast path appends the trailer in esp_output_head() before esp_output_tail() allocates the destination page frag. The head-side gate currently checks skb->data_len and tailen separately, but the tail code allocates a single destination frag from the combined post-trailer skb->data_len.  Reject the page-frag fast path when the combined aligned length exceeds a page. Otherwise skb_page_frag_refill() may fall back to a single page while the destination sg still spans the combined skb->data_len.  Restore this combined-length page gate for both IPv4 and IPv6.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-63922",
                                "url": "https://ubuntu.com/security/CVE-2026-63922",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: exthdrs: refresh nh after handling HAO option  ip6_parse_tlv() caches skb_network_header(skb) in nh while walking IPv6 TLVs.  ipv6_dest_hao() may call pskb_expand_head() for a cloned skb, which can move the skb head and invalidate the cached network header pointer. Refresh nh after ipv6_dest_hao() returns so any trailing padding or TLVs are parsed from the current skb head.  This matches the existing pattern used in ip6_parse_tlv() after helpers that can modify skb header storage.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-63924",
                                "url": "https://ubuntu.com/security/CVE-2026-63924",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: exthdrs: refresh nh pointer after ipv6_hop_jumbo()  ipv6_hop_jumbo() calls pskb_trim_rcsum(), which can change skb pointers. Let's recompute nh pointer to make sure any change won't mess things up.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-64091",
                                "url": "https://ubuntu.com/security/CVE-2026-64091",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  batman-adv: tt: fix TOCTOU race for reported vlans  The local TT based TVLV is generated by first checking the number of VLANs which have at least one TT entry. A new buffer with the correct size for the VLANs is then allocated. Only then, the list of VLANs s used to fill the VLAN entries in the buffer. During this time, the meshif_vlan_list_lock is held. But the actual number of TT entries of each VLAN can still increase during this time - just not the number of VLANs in the list.  But the prefilter used in the buffer size calculation might still cause an increase of the number of VLANs which need to be stored. Simply because a VLAN might now suddenly have at least one entry when it had none in the pre-alloc check - and then needs to occupy space which was not allocated.  It is better to overestimate the buffer size at the beginning and then fill the buffer only with the VLANs which are not empty.",
                                "cve_priority": "high",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-63984",
                                "url": "https://ubuntu.com/security/CVE-2026-63984",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: rpl: fix hdrlen overflow in ipv6_rpl_srh_decompress()  ipv6_rpl_srh_decompress() computes:      outhdr->hdrlen = (((n + 1) * sizeof(struct in6_addr)) >> 3);  hdrlen is __u8. For n >= 127 the result exceeds 255 and silently truncates. With n=127 (cmpri=15, cmpre=15, pad=0, hdrlen=16):      (128 * 16) >> 3 = 256, truncated to 0 as __u8  The caller in ipv6_rpl_srh_rcv() then places the compressed header at buf + ((ohdr->hdrlen + 1) << 3). With hdrlen=0 this is buf + 8, but the decompressed region occupies buf[0..2055] (8-byte header plus 128 full addresses). The compressed header overlaps the decompressed data, and ipv6_rpl_srh_compress() writes into this overlap, corrupting the routing header of the forwarded packet.  The existing guard at exthdrs.c:546 checks (n + 1) > 255, which prevents n+1 from overflowing unsigned char (the segments_left field), but does not prevent the computed hdrlen from overflowing __u8. n=127 passes because 128 <= 255, yet hdrlen=256 does not fit.  Tighten the bound to (n + 1) > 127. This caps n at 126, giving hdrlen = (127 * 16) >> 3 = 254, which fits in __u8. The compressed header then lands at buf + ((254 + 1) << 3) = buf + 2040, exactly past the decompressed region (buf[0..2039]). No overlap. 127 segments is well beyond any realistic RPL deployment.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-63992",
                                "url": "https://ubuntu.com/security/CVE-2026-63992",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tunnels: do not assume transport header in iptunnel_pmtud_check_icmp()  In some cases, iptunnel_pmtud_check_icmp() can be called while skb transport header is not set.  This triggers an out-of-bound access, because (typeof(skb->transport_header))~0U is 65535.  Access the icmp header based on IPv4 network header, after making sure icmp->type is present in skb linear part.  Note that iptunnel_pmtud_check_icmpv6()) is fine.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-63993",
                                "url": "https://ubuntu.com/security/CVE-2026-63993",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  vxlan: do not reuse cached ip_hdr() value after skb_tunnel_check_pmtu()  skb_tunnel_check_pmtu() can change skb->head.  Reusing old_iph afer skb_tunnel_check_pmtu() can cause an UAF.  Use instead ip_hdr(skb) as done in drivers/net/bareudp.c and drivers/net/geneve.c.  Found by Sashiko.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-63994",
                                "url": "https://ubuntu.com/security/CVE-2026-63994",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tunnels: load network headers after skb_cow() in iptunnel_pmtud_build_icmp[v6]()  Sashiko found that iptunnel_pmtud_build_icmp() and iptunnel_pmtud_build_icmpv6() were caching ip_hdr() and ipv6_hdr() before an skb_cow() call which can reallocate skb->head.  Fix this possible UAF by initializing the local variables after the skb_cow() call.  Remove skb_reset_network_header() calls which were not needed.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-64000",
                                "url": "https://ubuntu.com/security/CVE-2026-64000",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hsr: fix potential OOB access in supervision frame handling  Ensure the entire TLV header is linearized before access by adding sizeof(struct hsr_sup_tlv) to the pskb_may_pull() calls. Without this, a truncated frame could cause an out-of-bounds access.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-64007",
                                "url": "https://ubuntu.com/security/CVE-2026-64007",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: synproxy: refresh tcphdr after skb_ensure_writable  synproxy_tstamp_adjust() rewrites the TCP timestamp option in place and then patches the TCP checksum via inet_proto_csum_replace4() on the caller-supplied tcphdr pointer.  Both ipv4_synproxy_hook() and ipv6_synproxy_hook() obtain that pointer with skb_header_pointer() before calling in, so it may either alias skb->head directly or point at the caller's on-stack _tcph buffer.  Between obtaining the pointer and using it, the function calls skb_ensure_writable(skb, optend), which on a cloned or non-linear skb invokes pskb_expand_head() and frees the old skb->head.  After that point the cached th is stale:      caller (ipv[46]_synproxy_hook)       th = skb_header_pointer(skb, ..., &_tcph)       synproxy_tstamp_adjust(skb, protoff, th, ...)         skb_ensure_writable(skb, optend)           pskb_expand_head()        /* kfree(old skb->head) */         ...         inet_proto_csum_replace4(&th->check, ...)                                     /* writes into freed head, or                                        into the caller's stack copy                                        leaving the on-wire checksum                                        stale */  The option bytes are written through skb->data and are fine; only the checksum update goes through th and so lands in the wrong place.  The result is either a write into freed slab memory or a packet leaving with a checksum that does not match its payload.  Fix by re-deriving th from skb->data + protoff immediately after skb_ensure_writable() succeeds, so the subsequent checksum update targets the linear, writable header.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-07-19 16:17:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-53221",
                                "url": "https://ubuntu.com/security/CVE-2026-53221",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_vti: fix incorrect tunnel matching in vti6_tnl_lookup()  In vti6_tnl_lookup(), when an exact match for a tunnel fails, the code falls back to searching for wildcard tunnels:  - Tunnels matching the packet's local address, with any remote address   wildcard remote).  - Tunnels matching the packet's remote address, with any local address   (wildcard local).  However, vti6 stores all these different types of tunnels in the same hash table (ip6n->tnls_r_l) prone to hash collisions.  The bug is that the fallback search loops in vti6_tnl_lookup() were missing checks to ensure that the candidate tunnel actually has a wildcard address.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-25 09:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-53131",
                                "url": "https://ubuntu.com/security/CVE-2026-53131",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: require Ethernet MAC header before using eth_hdr()  `ip6t_eui64`, `xt_mac`, the `bitmap:ip,mac`, `hash:ip,mac`, and `hash:mac` ipset types, and `nf_log_syslog` access `eth_hdr(skb)` after either assuming that the skb is associated with an Ethernet device or checking only that the `ETH_HLEN` bytes at `skb_mac_header(skb)` lie between `skb->head` and `skb->data`.  Make these paths first verify that the skb is associated with an Ethernet device, that the MAC header was set, and that it spans at least a full Ethernet header before accessing `eth_hdr(skb)`.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-06-25 09:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * noble/linux: 6.8.0-140.140 -proposed tracker (LP: #2165716)",
                            "",
                            "  * CVE-2025-10263 // CVE-2026-53354",
                            "    - arm64: errata: Mitigate TLBI errata on various Arm CPUs",
                            "    - [Config] Enable CONFIG_ARM64_ERRATUM_4118414",
                            "",
                            "  * CVE-2025-10263",
                            "    - arm64: cputype: Add C1-Ultra definitions",
                            "    - arm64: cputype: Add C1-Premium definitions",
                            "",
                            "  * CVE-2026-53355",
                            "    - net: rds: clear i_sends on setup unwind",
                            "",
                            "  * CVE-2026-53186",
                            "    - RDMA/srp: bound SRP_RSP sense copy by the received length",
                            "",
                            "  * CVE-2026-53216",
                            "    - net: mvpp2: limit XDP frame size to the RX buffer",
                            "",
                            "  * CVE-2026-63888",
                            "    - scsi: target: iscsi: Fix CRC overread and double-free in",
                            "      iscsit_handle_text_cmd()",
                            "",
                            "  * CVE-2026-63886",
                            "    - scsi: target: iscsi: Validate CHAP_R length before base64 decode",
                            "",
                            "  * CVE-2026-63887",
                            "    - scsi: target: iscsi: Bound iscsi_encode_text_output() appends to rsp_buf",
                            "",
                            "  * CVE-2026-63912",
                            "    - xfrm: esp: restore combined single-frag length gate",
                            "",
                            "  * CVE-2026-63922",
                            "    - ipv6: exthdrs: refresh nh after handling HAO option",
                            "",
                            "  * CVE-2026-63924",
                            "    - ipv6: exthdrs: refresh nh pointer after ipv6_hop_jumbo()",
                            "",
                            "  * CVE-2026-64091",
                            "    - batman-adv: tt: fix TOCTOU race for reported vlans",
                            "",
                            "  * CVE-2026-63984",
                            "    - ipv6: rpl: fix hdrlen overflow in ipv6_rpl_srh_decompress()",
                            "",
                            "  * CVE-2026-63992",
                            "    - tunnels: do not assume transport header in iptunnel_pmtud_check_icmp()",
                            "",
                            "  * CVE-2026-63993",
                            "    - vxlan: do not reuse cached ip_hdr() value after skb_tunnel_check_pmtu()",
                            "",
                            "  * CVE-2026-63994",
                            "    - tunnels: load network headers after skb_cow() in",
                            "      iptunnel_pmtud_build_icmp[v6]()",
                            "",
                            "  * CVE-2026-64000",
                            "    - net: hsr: fix potential OOB access in supervision frame handling",
                            "",
                            "  * CVE-2026-64007",
                            "    - netfilter: synproxy: refresh tcphdr after skb_ensure_writable",
                            "",
                            "  * CVE-2026-53221",
                            "    - ip6_vti: fix incorrect tunnel matching in vti6_tnl_lookup()",
                            "",
                            "  * CVE-2026-53131",
                            "    - netfilter: require Ethernet MAC header before using eth_hdr()",
                            ""
                        ],
                        "package": "linux",
                        "version": "6.8.0-140.140",
                        "urgency": "medium",
                        "distributions": "noble",
                        "launchpad_bugs_fixed": [
                            2165716
                        ],
                        "author": "Manuel Diewald <manuel.diewald@canonical.com>",
                        "date": "Fri, 28 Aug 2026 19:42:28 +0200"
                    }
                ],
                "notes": "linux-modules-6.8.0-142-generic version '6.8.0-142.142' (source package linux version '6.8.0-142.142') was added. linux-modules-6.8.0-142-generic version '6.8.0-142.142' has the same source package name, linux, as removed package linux-modules-6.8.0-139-generic. As such we can use the source package version of the removed package, '6.8.0-139.139', as the starting point in our changelog diff. Kernel packages are an example of where the binary package name changes for the same source package. Using the removed package source package version as our starting point means we can still get meaningful changelog diffs even for what appears to be a new package.",
                "is_version_downgrade": false
            }
        ],
        "snap": []
    },
    "removed": {
        "deb": [
            {
                "name": "linux-image-6.8.0-139-generic",
                "from_version": {
                    "source_package_name": "linux-signed",
                    "source_package_version": "6.8.0-139.139",
                    "version": "6.8.0-139.139"
                },
                "to_version": {
                    "source_package_name": null,
                    "source_package_version": null,
                    "version": null
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "linux-modules-6.8.0-139-generic",
                "from_version": {
                    "source_package_name": "linux",
                    "source_package_version": "6.8.0-139.139",
                    "version": "6.8.0-139.139"
                },
                "to_version": {
                    "source_package_name": null,
                    "source_package_version": null,
                    "version": null
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [],
                "notes": null,
                "is_version_downgrade": false
            }
        ],
        "snap": []
    },
    "notes": "Changelog diff for Ubuntu 24.04 noble image from release image serial 20260905 to 20260924",
    "from_series": "noble",
    "to_series": "noble",
    "from_serial": "20260905",
    "to_serial": "20260924",
    "from_manifest_filename": "release_manifest.previous",
    "to_manifest_filename": "manifest.current"
}