{
    "summary": {
        "snap": {
            "added": [],
            "removed": [],
            "diff": []
        },
        "deb": {
            "added": [],
            "removed": [],
            "diff": [
                "gir1.2-packagekitglib-1.0",
                "jq",
                "libcap2",
                "libcap2-bin",
                "libjq1",
                "libntfs-3g89t64",
                "libpackagekit-glib2-18",
                "libpam-cap",
                "ntfs-3g",
                "packagekit",
                "packagekit-tools",
                "snapd",
                "ubuntu-pro-client",
                "ubuntu-pro-client-l10n",
                "vim",
                "vim-common",
                "vim-runtime",
                "vim-tiny",
                "xxd"
            ]
        }
    },
    "diff": {
        "deb": [
            {
                "name": "gir1.2-packagekitglib-1.0",
                "from_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1",
                    "version": "1.3.1-1ubuntu1"
                },
                "to_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1.1",
                    "version": "1.3.1-1ubuntu1.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2148512
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: TOCTOU Race on Transaction Flags (LP: #2148512)",
                            "    - debian/patches/Do-not-allow-re-invoking-methods-on-non-new-txn.patch:",
                            "      do not allow re-invoking methods on non-new transactions in",
                            "      src/pk-transaction.c.",
                            "    - CVE number pending",
                            ""
                        ],
                        "package": "packagekit",
                        "version": "1.3.1-1ubuntu1.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [
                            2148512
                        ],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Mon, 20 Apr 2026 07:24:35 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "jq",
                "from_version": {
                    "source_package_name": "jq",
                    "source_package_version": "1.8.1-3ubuntu1",
                    "version": "1.8.1-3ubuntu1"
                },
                "to_version": {
                    "source_package_name": "jq",
                    "source_package_version": "1.8.1-3ubuntu1.1",
                    "version": "1.8.1-3ubuntu1.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-32316",
                        "url": "https://ubuntu.com/security/CVE-2026-32316",
                        "cve_description": "jq is a command-line JSON processor. An integer overflow vulnerability exists through version 1.8.1 within the jvp_string_append() and jvp_string_copy_replace_bad functions, where concatenating strings with a combined length exceeding 2^31 bytes causes a 32-bit unsigned integer overflow in the buffer allocation size calculation, resulting in a drastically undersized heap buffer. Subsequent memory copy operations then write the full string data into this undersized buffer, causing a heap buffer overflow classified as CWE-190 (Integer Overflow) leading to CWE-122 (Heap-based Buffer Overflow). Any system evaluating untrusted jq queries is affected, as an attacker can crash the process or potentially achieve further exploitation through heap corruption by crafting queries that produce extremely large strings. The root cause is the absence of string size bounds checking, unlike arrays and objects which already have size limits. The issue has been addressed in commit e47e56d226519635768e6aab2f38f0ab037c09e5.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-33947",
                        "url": "https://ubuntu.com/security/CVE-2026-33947",
                        "cve_description": "jq is a command-line JSON processor. In versions 1.8.1 and below, functions jv_setpath(), jv_getpath(), and delpaths_sorted() in jq's src/jv_aux.c use unbounded recursion whose depth is controlled by the length of a caller-supplied path array, with no depth limit enforced. An attacker can supply a JSON document containing a flat array of ~65,000 integers (~200 KB) that, when used as a path argument by a trusted jq filter, exhausts the C call stack and crashes the process with a segmentation fault (SIGSEGV). This bypass works because the existing MAX_PARSING_DEPTH (10,000) limit only protects the JSON parser, not runtime path operations where arrays can be programmatically constructed to arbitrary lengths. The impact is denial of service (unrecoverable crash) affecting any application or service that processes untrusted JSON input through jq's setpath, getpath, or delpaths builtins. This issue has been addressed in commit fb59f1491058d58bdc3e8dd28f1773d1ac690a1f.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 22:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-33948",
                        "url": "https://ubuntu.com/security/CVE-2026-33948",
                        "cve_description": "jq is a command-line JSON processor. Commits before 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b contain a vulnerability where CLI input parsing allows validation bypass via embedded NUL bytes. When reading JSON from files or stdin, jq uses strlen() to determine buffer length instead of the actual byte count from fgets(), causing it to truncate input at the first NUL byte and parse only the preceding prefix. This enables an attacker to craft input with a benign JSON prefix before a NUL byte followed by malicious trailing data, where jq validates only the prefix as valid JSON while silently discarding the suffix. Workflows relying on jq to validate untrusted JSON before forwarding it to downstream consumers are susceptible to parser differential attacks, as those consumers may process the full input including the malicious trailing bytes. This issue has been patched by commit 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-14 00:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39956",
                        "url": "https://ubuntu.com/security/CVE-2026-39956",
                        "cve_description": "jq is a command-line JSON processor. In commits after 69785bf77f86e2ea1b4a20ca86775916889e91c9, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely on assert() checks that are stripped in release builds compiled with -DNDEBUG. This allows an attacker to crash jq trivially with input like _strindices(0), and by crafting a numeric value whose IEEE-754 bit pattern maps to a chosen pointer, achieve a controlled pointer dereference and limited memory read/probe primitive. Any deployment that evaluates untrusted jq filters against a release build is vulnerable. This issue has been patched in commit fdf8ef0f0810e3d365cdd5160de43db46f57ed03.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 23:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39979",
                        "url": "https://ubuntu.com/security/CVE-2026-39979",
                        "cve_description": "jq is a command-line JSON processor. In commits before 2f09060afab23fe9390cce7cb860b10416e1bf5f, the jv_parse_sized() API in libjq accepts a counted buffer with an explicit length parameter, but its error-handling path formats the input buffer using %s in jv_string_fmt(), which reads until a NUL terminator is found rather than respecting the caller-supplied length. This means that when malformed JSON is passed in a non-NUL-terminated buffer, the error construction logic performs an out-of-bounds read past the end of the buffer. The vulnerability is reachable by any libjq consumer calling jv_parse_sized() with untrusted input, and depending on memory layout, can result in memory disclosure or process termination. The issue has been patched in commit 2f09060afab23fe9390cce7cb860b10416e1bf5f.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 23:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-40164",
                        "url": "https://ubuntu.com/security/CVE-2026-40164",
                        "cve_description": "jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON object hash table operations, which allowed an attacker to precompute key collisions offline. By supplying a crafted JSON object (~100 KB) where all keys hashed to the same bucket, hash table lookups degraded from O(1) to O(n), turning any jq expression into an O(n²) operation and causing significant CPU exhaustion. This affected common jq use cases such as CI/CD pipelines, web services, and data processing scripts, and was far more practical to exploit than existing heap overflow issues since it required only a small payload. This issue has been patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-14 00:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-32316",
                                "url": "https://ubuntu.com/security/CVE-2026-32316",
                                "cve_description": "jq is a command-line JSON processor. An integer overflow vulnerability exists through version 1.8.1 within the jvp_string_append() and jvp_string_copy_replace_bad functions, where concatenating strings with a combined length exceeding 2^31 bytes causes a 32-bit unsigned integer overflow in the buffer allocation size calculation, resulting in a drastically undersized heap buffer. Subsequent memory copy operations then write the full string data into this undersized buffer, causing a heap buffer overflow classified as CWE-190 (Integer Overflow) leading to CWE-122 (Heap-based Buffer Overflow). Any system evaluating untrusted jq queries is affected, as an attacker can crash the process or potentially achieve further exploitation through heap corruption by crafting queries that produce extremely large strings. The root cause is the absence of string size bounds checking, unlike arrays and objects which already have size limits. The issue has been addressed in commit e47e56d226519635768e6aab2f38f0ab037c09e5.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-33947",
                                "url": "https://ubuntu.com/security/CVE-2026-33947",
                                "cve_description": "jq is a command-line JSON processor. In versions 1.8.1 and below, functions jv_setpath(), jv_getpath(), and delpaths_sorted() in jq's src/jv_aux.c use unbounded recursion whose depth is controlled by the length of a caller-supplied path array, with no depth limit enforced. An attacker can supply a JSON document containing a flat array of ~65,000 integers (~200 KB) that, when used as a path argument by a trusted jq filter, exhausts the C call stack and crashes the process with a segmentation fault (SIGSEGV). This bypass works because the existing MAX_PARSING_DEPTH (10,000) limit only protects the JSON parser, not runtime path operations where arrays can be programmatically constructed to arbitrary lengths. The impact is denial of service (unrecoverable crash) affecting any application or service that processes untrusted JSON input through jq's setpath, getpath, or delpaths builtins. This issue has been addressed in commit fb59f1491058d58bdc3e8dd28f1773d1ac690a1f.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 22:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-33948",
                                "url": "https://ubuntu.com/security/CVE-2026-33948",
                                "cve_description": "jq is a command-line JSON processor. Commits before 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b contain a vulnerability where CLI input parsing allows validation bypass via embedded NUL bytes. When reading JSON from files or stdin, jq uses strlen() to determine buffer length instead of the actual byte count from fgets(), causing it to truncate input at the first NUL byte and parse only the preceding prefix. This enables an attacker to craft input with a benign JSON prefix before a NUL byte followed by malicious trailing data, where jq validates only the prefix as valid JSON while silently discarding the suffix. Workflows relying on jq to validate untrusted JSON before forwarding it to downstream consumers are susceptible to parser differential attacks, as those consumers may process the full input including the malicious trailing bytes. This issue has been patched by commit 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-14 00:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39956",
                                "url": "https://ubuntu.com/security/CVE-2026-39956",
                                "cve_description": "jq is a command-line JSON processor. In commits after 69785bf77f86e2ea1b4a20ca86775916889e91c9, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely on assert() checks that are stripped in release builds compiled with -DNDEBUG. This allows an attacker to crash jq trivially with input like _strindices(0), and by crafting a numeric value whose IEEE-754 bit pattern maps to a chosen pointer, achieve a controlled pointer dereference and limited memory read/probe primitive. Any deployment that evaluates untrusted jq filters against a release build is vulnerable. This issue has been patched in commit fdf8ef0f0810e3d365cdd5160de43db46f57ed03.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 23:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39979",
                                "url": "https://ubuntu.com/security/CVE-2026-39979",
                                "cve_description": "jq is a command-line JSON processor. In commits before 2f09060afab23fe9390cce7cb860b10416e1bf5f, the jv_parse_sized() API in libjq accepts a counted buffer with an explicit length parameter, but its error-handling path formats the input buffer using %s in jv_string_fmt(), which reads until a NUL terminator is found rather than respecting the caller-supplied length. This means that when malformed JSON is passed in a non-NUL-terminated buffer, the error construction logic performs an out-of-bounds read past the end of the buffer. The vulnerability is reachable by any libjq consumer calling jv_parse_sized() with untrusted input, and depending on memory layout, can result in memory disclosure or process termination. The issue has been patched in commit 2f09060afab23fe9390cce7cb860b10416e1bf5f.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 23:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-40164",
                                "url": "https://ubuntu.com/security/CVE-2026-40164",
                                "cve_description": "jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON object hash table operations, which allowed an attacker to precompute key collisions offline. By supplying a crafted JSON object (~100 KB) where all keys hashed to the same bucket, hash table lookups degraded from O(1) to O(n), turning any jq expression into an O(n²) operation and causing significant CPU exhaustion. This affected common jq use cases such as CI/CD pipelines, web services, and data processing scripts, and was far more practical to exploit than existing heap overflow issues since it required only a small payload. This issue has been patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-14 00:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Heap Buffer Overflow",
                            "    - debian/patches/CVE-2026-32316.patch: Fix heap buffer overflow in",
                            "      `jvp_string_append` and `jvp_string_copy_replace_bad`",
                            "    - CVE-2026-32316",
                            "  * SECURITY UPDATE: Stack Buffer Overflow",
                            "    - debian/patches/CVE-2026-33947.patch: Limit path depth to prevent",
                            "      stack overflow",
                            "    - CVE-2026-33947",
                            "  * SECURITY UPDATE: Improper Null Termination",
                            "    - debian/patches/CVE-2026-33948.patch: Fix NUL truncation in the",
                            "      JSON parser",
                            "    - CVE-2026-33948",
                            "  * SECURITY UPDATE: Out of Bounds Read",
                            "    - debian/patches/CVE-2026-39956.patch: Add runtime type checks to",
                            "      f_string_indexes",
                            "    - debian/patches/CVE-2026-39979.patch: Fix out-of-bounds read in",
                            "      jv_parse_sized()",
                            "    - CVE-2026-39956",
                            "    - CVE-2026-39979",
                            "  * SECURITY UPDATE: Denial of Service",
                            "    - debian/patches/CVE-2026-40164.patch: Randomize hash seed to",
                            "      mitigate hash collision DoS attacks",
                            "    - CVE-2026-40164",
                            ""
                        ],
                        "package": "jq",
                        "version": "1.8.1-3ubuntu1.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Bruce Cable <bruce.cable@canonical.com>",
                        "date": "Mon, 20 Apr 2026 17:24:54 +1000"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libcap2",
                "from_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.75-7ubuntu2",
                    "version": "1:2.75-7ubuntu2"
                },
                "to_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.75-7ubuntu2.2",
                    "version": "1:2.75-7ubuntu2.2"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-4878",
                        "url": "https://ubuntu.com/security/CVE-2026-4878",
                        "cve_description": "A flaw was found in libcap. A local unprivileged user can exploit a Time-of-check-to-time-of-use (TOCTOU) race condition in the `cap_set_file()` function. This allows an attacker with write access to a parent directory to redirect file capability updates to an attacker-controlled file. By doing so, capabilities can be injected into or stripped from unintended executables, leading to privilege escalation.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-09 16:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-4878",
                                "url": "https://ubuntu.com/security/CVE-2026-4878",
                                "cve_description": "A flaw was found in libcap. A local unprivileged user can exploit a Time-of-check-to-time-of-use (TOCTOU) race condition in the `cap_set_file()` function. This allows an attacker with write access to a parent directory to redirect file capability updates to an attacker-controlled file. By doing so, capabilities can be injected into or stripped from unintended executables, leading to privilege escalation.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-09 16:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: potential TOCTOU race condition in cap_set_file()",
                            "    - debian/patches/CVE-2026-4878.patch: fix race in libcap/cap_file.c,",
                            "      progs/quicktest.sh.",
                            "    - CVE-2026-4878",
                            ""
                        ],
                        "package": "libcap2",
                        "version": "1:2.75-7ubuntu2.2",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Thu, 09 Apr 2026 11:04:10 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libcap2-bin",
                "from_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.75-7ubuntu2",
                    "version": "1:2.75-7ubuntu2"
                },
                "to_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.75-7ubuntu2.2",
                    "version": "1:2.75-7ubuntu2.2"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-4878",
                        "url": "https://ubuntu.com/security/CVE-2026-4878",
                        "cve_description": "A flaw was found in libcap. A local unprivileged user can exploit a Time-of-check-to-time-of-use (TOCTOU) race condition in the `cap_set_file()` function. This allows an attacker with write access to a parent directory to redirect file capability updates to an attacker-controlled file. By doing so, capabilities can be injected into or stripped from unintended executables, leading to privilege escalation.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-09 16:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-4878",
                                "url": "https://ubuntu.com/security/CVE-2026-4878",
                                "cve_description": "A flaw was found in libcap. A local unprivileged user can exploit a Time-of-check-to-time-of-use (TOCTOU) race condition in the `cap_set_file()` function. This allows an attacker with write access to a parent directory to redirect file capability updates to an attacker-controlled file. By doing so, capabilities can be injected into or stripped from unintended executables, leading to privilege escalation.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-09 16:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: potential TOCTOU race condition in cap_set_file()",
                            "    - debian/patches/CVE-2026-4878.patch: fix race in libcap/cap_file.c,",
                            "      progs/quicktest.sh.",
                            "    - CVE-2026-4878",
                            ""
                        ],
                        "package": "libcap2",
                        "version": "1:2.75-7ubuntu2.2",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Thu, 09 Apr 2026 11:04:10 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libjq1",
                "from_version": {
                    "source_package_name": "jq",
                    "source_package_version": "1.8.1-3ubuntu1",
                    "version": "1.8.1-3ubuntu1"
                },
                "to_version": {
                    "source_package_name": "jq",
                    "source_package_version": "1.8.1-3ubuntu1.1",
                    "version": "1.8.1-3ubuntu1.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-32316",
                        "url": "https://ubuntu.com/security/CVE-2026-32316",
                        "cve_description": "jq is a command-line JSON processor. An integer overflow vulnerability exists through version 1.8.1 within the jvp_string_append() and jvp_string_copy_replace_bad functions, where concatenating strings with a combined length exceeding 2^31 bytes causes a 32-bit unsigned integer overflow in the buffer allocation size calculation, resulting in a drastically undersized heap buffer. Subsequent memory copy operations then write the full string data into this undersized buffer, causing a heap buffer overflow classified as CWE-190 (Integer Overflow) leading to CWE-122 (Heap-based Buffer Overflow). Any system evaluating untrusted jq queries is affected, as an attacker can crash the process or potentially achieve further exploitation through heap corruption by crafting queries that produce extremely large strings. The root cause is the absence of string size bounds checking, unlike arrays and objects which already have size limits. The issue has been addressed in commit e47e56d226519635768e6aab2f38f0ab037c09e5.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-33947",
                        "url": "https://ubuntu.com/security/CVE-2026-33947",
                        "cve_description": "jq is a command-line JSON processor. In versions 1.8.1 and below, functions jv_setpath(), jv_getpath(), and delpaths_sorted() in jq's src/jv_aux.c use unbounded recursion whose depth is controlled by the length of a caller-supplied path array, with no depth limit enforced. An attacker can supply a JSON document containing a flat array of ~65,000 integers (~200 KB) that, when used as a path argument by a trusted jq filter, exhausts the C call stack and crashes the process with a segmentation fault (SIGSEGV). This bypass works because the existing MAX_PARSING_DEPTH (10,000) limit only protects the JSON parser, not runtime path operations where arrays can be programmatically constructed to arbitrary lengths. The impact is denial of service (unrecoverable crash) affecting any application or service that processes untrusted JSON input through jq's setpath, getpath, or delpaths builtins. This issue has been addressed in commit fb59f1491058d58bdc3e8dd28f1773d1ac690a1f.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 22:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-33948",
                        "url": "https://ubuntu.com/security/CVE-2026-33948",
                        "cve_description": "jq is a command-line JSON processor. Commits before 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b contain a vulnerability where CLI input parsing allows validation bypass via embedded NUL bytes. When reading JSON from files or stdin, jq uses strlen() to determine buffer length instead of the actual byte count from fgets(), causing it to truncate input at the first NUL byte and parse only the preceding prefix. This enables an attacker to craft input with a benign JSON prefix before a NUL byte followed by malicious trailing data, where jq validates only the prefix as valid JSON while silently discarding the suffix. Workflows relying on jq to validate untrusted JSON before forwarding it to downstream consumers are susceptible to parser differential attacks, as those consumers may process the full input including the malicious trailing bytes. This issue has been patched by commit 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-14 00:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39956",
                        "url": "https://ubuntu.com/security/CVE-2026-39956",
                        "cve_description": "jq is a command-line JSON processor. In commits after 69785bf77f86e2ea1b4a20ca86775916889e91c9, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely on assert() checks that are stripped in release builds compiled with -DNDEBUG. This allows an attacker to crash jq trivially with input like _strindices(0), and by crafting a numeric value whose IEEE-754 bit pattern maps to a chosen pointer, achieve a controlled pointer dereference and limited memory read/probe primitive. Any deployment that evaluates untrusted jq filters against a release build is vulnerable. This issue has been patched in commit fdf8ef0f0810e3d365cdd5160de43db46f57ed03.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 23:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39979",
                        "url": "https://ubuntu.com/security/CVE-2026-39979",
                        "cve_description": "jq is a command-line JSON processor. In commits before 2f09060afab23fe9390cce7cb860b10416e1bf5f, the jv_parse_sized() API in libjq accepts a counted buffer with an explicit length parameter, but its error-handling path formats the input buffer using %s in jv_string_fmt(), which reads until a NUL terminator is found rather than respecting the caller-supplied length. This means that when malformed JSON is passed in a non-NUL-terminated buffer, the error construction logic performs an out-of-bounds read past the end of the buffer. The vulnerability is reachable by any libjq consumer calling jv_parse_sized() with untrusted input, and depending on memory layout, can result in memory disclosure or process termination. The issue has been patched in commit 2f09060afab23fe9390cce7cb860b10416e1bf5f.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 23:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-40164",
                        "url": "https://ubuntu.com/security/CVE-2026-40164",
                        "cve_description": "jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON object hash table operations, which allowed an attacker to precompute key collisions offline. By supplying a crafted JSON object (~100 KB) where all keys hashed to the same bucket, hash table lookups degraded from O(1) to O(n), turning any jq expression into an O(n²) operation and causing significant CPU exhaustion. This affected common jq use cases such as CI/CD pipelines, web services, and data processing scripts, and was far more practical to exploit than existing heap overflow issues since it required only a small payload. This issue has been patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-14 00:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-32316",
                                "url": "https://ubuntu.com/security/CVE-2026-32316",
                                "cve_description": "jq is a command-line JSON processor. An integer overflow vulnerability exists through version 1.8.1 within the jvp_string_append() and jvp_string_copy_replace_bad functions, where concatenating strings with a combined length exceeding 2^31 bytes causes a 32-bit unsigned integer overflow in the buffer allocation size calculation, resulting in a drastically undersized heap buffer. Subsequent memory copy operations then write the full string data into this undersized buffer, causing a heap buffer overflow classified as CWE-190 (Integer Overflow) leading to CWE-122 (Heap-based Buffer Overflow). Any system evaluating untrusted jq queries is affected, as an attacker can crash the process or potentially achieve further exploitation through heap corruption by crafting queries that produce extremely large strings. The root cause is the absence of string size bounds checking, unlike arrays and objects which already have size limits. The issue has been addressed in commit e47e56d226519635768e6aab2f38f0ab037c09e5.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-33947",
                                "url": "https://ubuntu.com/security/CVE-2026-33947",
                                "cve_description": "jq is a command-line JSON processor. In versions 1.8.1 and below, functions jv_setpath(), jv_getpath(), and delpaths_sorted() in jq's src/jv_aux.c use unbounded recursion whose depth is controlled by the length of a caller-supplied path array, with no depth limit enforced. An attacker can supply a JSON document containing a flat array of ~65,000 integers (~200 KB) that, when used as a path argument by a trusted jq filter, exhausts the C call stack and crashes the process with a segmentation fault (SIGSEGV). This bypass works because the existing MAX_PARSING_DEPTH (10,000) limit only protects the JSON parser, not runtime path operations where arrays can be programmatically constructed to arbitrary lengths. The impact is denial of service (unrecoverable crash) affecting any application or service that processes untrusted JSON input through jq's setpath, getpath, or delpaths builtins. This issue has been addressed in commit fb59f1491058d58bdc3e8dd28f1773d1ac690a1f.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 22:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-33948",
                                "url": "https://ubuntu.com/security/CVE-2026-33948",
                                "cve_description": "jq is a command-line JSON processor. Commits before 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b contain a vulnerability where CLI input parsing allows validation bypass via embedded NUL bytes. When reading JSON from files or stdin, jq uses strlen() to determine buffer length instead of the actual byte count from fgets(), causing it to truncate input at the first NUL byte and parse only the preceding prefix. This enables an attacker to craft input with a benign JSON prefix before a NUL byte followed by malicious trailing data, where jq validates only the prefix as valid JSON while silently discarding the suffix. Workflows relying on jq to validate untrusted JSON before forwarding it to downstream consumers are susceptible to parser differential attacks, as those consumers may process the full input including the malicious trailing bytes. This issue has been patched by commit 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-14 00:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39956",
                                "url": "https://ubuntu.com/security/CVE-2026-39956",
                                "cve_description": "jq is a command-line JSON processor. In commits after 69785bf77f86e2ea1b4a20ca86775916889e91c9, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely on assert() checks that are stripped in release builds compiled with -DNDEBUG. This allows an attacker to crash jq trivially with input like _strindices(0), and by crafting a numeric value whose IEEE-754 bit pattern maps to a chosen pointer, achieve a controlled pointer dereference and limited memory read/probe primitive. Any deployment that evaluates untrusted jq filters against a release build is vulnerable. This issue has been patched in commit fdf8ef0f0810e3d365cdd5160de43db46f57ed03.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 23:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39979",
                                "url": "https://ubuntu.com/security/CVE-2026-39979",
                                "cve_description": "jq is a command-line JSON processor. In commits before 2f09060afab23fe9390cce7cb860b10416e1bf5f, the jv_parse_sized() API in libjq accepts a counted buffer with an explicit length parameter, but its error-handling path formats the input buffer using %s in jv_string_fmt(), which reads until a NUL terminator is found rather than respecting the caller-supplied length. This means that when malformed JSON is passed in a non-NUL-terminated buffer, the error construction logic performs an out-of-bounds read past the end of the buffer. The vulnerability is reachable by any libjq consumer calling jv_parse_sized() with untrusted input, and depending on memory layout, can result in memory disclosure or process termination. The issue has been patched in commit 2f09060afab23fe9390cce7cb860b10416e1bf5f.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 23:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-40164",
                                "url": "https://ubuntu.com/security/CVE-2026-40164",
                                "cve_description": "jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON object hash table operations, which allowed an attacker to precompute key collisions offline. By supplying a crafted JSON object (~100 KB) where all keys hashed to the same bucket, hash table lookups degraded from O(1) to O(n), turning any jq expression into an O(n²) operation and causing significant CPU exhaustion. This affected common jq use cases such as CI/CD pipelines, web services, and data processing scripts, and was far more practical to exploit than existing heap overflow issues since it required only a small payload. This issue has been patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-14 00:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Heap Buffer Overflow",
                            "    - debian/patches/CVE-2026-32316.patch: Fix heap buffer overflow in",
                            "      `jvp_string_append` and `jvp_string_copy_replace_bad`",
                            "    - CVE-2026-32316",
                            "  * SECURITY UPDATE: Stack Buffer Overflow",
                            "    - debian/patches/CVE-2026-33947.patch: Limit path depth to prevent",
                            "      stack overflow",
                            "    - CVE-2026-33947",
                            "  * SECURITY UPDATE: Improper Null Termination",
                            "    - debian/patches/CVE-2026-33948.patch: Fix NUL truncation in the",
                            "      JSON parser",
                            "    - CVE-2026-33948",
                            "  * SECURITY UPDATE: Out of Bounds Read",
                            "    - debian/patches/CVE-2026-39956.patch: Add runtime type checks to",
                            "      f_string_indexes",
                            "    - debian/patches/CVE-2026-39979.patch: Fix out-of-bounds read in",
                            "      jv_parse_sized()",
                            "    - CVE-2026-39956",
                            "    - CVE-2026-39979",
                            "  * SECURITY UPDATE: Denial of Service",
                            "    - debian/patches/CVE-2026-40164.patch: Randomize hash seed to",
                            "      mitigate hash collision DoS attacks",
                            "    - CVE-2026-40164",
                            ""
                        ],
                        "package": "jq",
                        "version": "1.8.1-3ubuntu1.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Bruce Cable <bruce.cable@canonical.com>",
                        "date": "Mon, 20 Apr 2026 17:24:54 +1000"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libntfs-3g89t64",
                "from_version": {
                    "source_package_name": "ntfs-3g",
                    "source_package_version": "1:2022.10.3-5",
                    "version": "1:2022.10.3-5"
                },
                "to_version": {
                    "source_package_name": "ntfs-3g",
                    "source_package_version": "1:2022.10.3-5ubuntu0.25.10.1",
                    "version": "1:2022.10.3-5ubuntu0.25.10.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-40706",
                        "url": "https://ubuntu.com/security/CVE-2026-40706",
                        "cve_description": "In NTFS-3G 2022.10.3, a heap buffer overflow exists in  ntfs_build_permissions_posix() in acls.c that allows an attacker to  corrupt heap memory in the SUID-root ntfs-3g binary by crafting a  malicious NTFS image. The overflow is triggered on the READ path (stat,  readdir, open) when processing a security descriptor with multiple  ACCESS_DENIED ACEs containing WRITE_OWNER from distinct group SIDs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-21 12:00:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-40706",
                                "url": "https://ubuntu.com/security/CVE-2026-40706",
                                "cve_description": "In NTFS-3G 2022.10.3, a heap buffer overflow exists in  ntfs_build_permissions_posix() in acls.c that allows an attacker to  corrupt heap memory in the SUID-root ntfs-3g binary by crafting a  malicious NTFS image. The overflow is triggered on the READ path (stat,  readdir, open) when processing a security descriptor with multiple  ACCESS_DENIED ACEs containing WRITE_OWNER from distinct group SIDs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-21 12:00:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: heap overflow in ntfs_build_permissions_posix()",
                            "    - debian/patches/CVE-2026-40706.patch: allocate space for the worst",
                            "      case number of ACE entries in libntfs-3g/acls.c.",
                            "    - CVE-2026-40706",
                            ""
                        ],
                        "package": "ntfs-3g",
                        "version": "1:2022.10.3-5ubuntu0.25.10.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Fri, 17 Apr 2026 13:51:23 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libpackagekit-glib2-18",
                "from_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1",
                    "version": "1.3.1-1ubuntu1"
                },
                "to_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1.1",
                    "version": "1.3.1-1ubuntu1.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2148512
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: TOCTOU Race on Transaction Flags (LP: #2148512)",
                            "    - debian/patches/Do-not-allow-re-invoking-methods-on-non-new-txn.patch:",
                            "      do not allow re-invoking methods on non-new transactions in",
                            "      src/pk-transaction.c.",
                            "    - CVE number pending",
                            ""
                        ],
                        "package": "packagekit",
                        "version": "1.3.1-1ubuntu1.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [
                            2148512
                        ],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Mon, 20 Apr 2026 07:24:35 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libpam-cap",
                "from_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.75-7ubuntu2",
                    "version": "1:2.75-7ubuntu2"
                },
                "to_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.75-7ubuntu2.2",
                    "version": "1:2.75-7ubuntu2.2"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-4878",
                        "url": "https://ubuntu.com/security/CVE-2026-4878",
                        "cve_description": "A flaw was found in libcap. A local unprivileged user can exploit a Time-of-check-to-time-of-use (TOCTOU) race condition in the `cap_set_file()` function. This allows an attacker with write access to a parent directory to redirect file capability updates to an attacker-controlled file. By doing so, capabilities can be injected into or stripped from unintended executables, leading to privilege escalation.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-09 16:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-4878",
                                "url": "https://ubuntu.com/security/CVE-2026-4878",
                                "cve_description": "A flaw was found in libcap. A local unprivileged user can exploit a Time-of-check-to-time-of-use (TOCTOU) race condition in the `cap_set_file()` function. This allows an attacker with write access to a parent directory to redirect file capability updates to an attacker-controlled file. By doing so, capabilities can be injected into or stripped from unintended executables, leading to privilege escalation.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-09 16:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: potential TOCTOU race condition in cap_set_file()",
                            "    - debian/patches/CVE-2026-4878.patch: fix race in libcap/cap_file.c,",
                            "      progs/quicktest.sh.",
                            "    - CVE-2026-4878",
                            ""
                        ],
                        "package": "libcap2",
                        "version": "1:2.75-7ubuntu2.2",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Thu, 09 Apr 2026 11:04:10 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "ntfs-3g",
                "from_version": {
                    "source_package_name": "ntfs-3g",
                    "source_package_version": "1:2022.10.3-5",
                    "version": "1:2022.10.3-5"
                },
                "to_version": {
                    "source_package_name": "ntfs-3g",
                    "source_package_version": "1:2022.10.3-5ubuntu0.25.10.1",
                    "version": "1:2022.10.3-5ubuntu0.25.10.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-40706",
                        "url": "https://ubuntu.com/security/CVE-2026-40706",
                        "cve_description": "In NTFS-3G 2022.10.3, a heap buffer overflow exists in  ntfs_build_permissions_posix() in acls.c that allows an attacker to  corrupt heap memory in the SUID-root ntfs-3g binary by crafting a  malicious NTFS image. The overflow is triggered on the READ path (stat,  readdir, open) when processing a security descriptor with multiple  ACCESS_DENIED ACEs containing WRITE_OWNER from distinct group SIDs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-21 12:00:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-40706",
                                "url": "https://ubuntu.com/security/CVE-2026-40706",
                                "cve_description": "In NTFS-3G 2022.10.3, a heap buffer overflow exists in  ntfs_build_permissions_posix() in acls.c that allows an attacker to  corrupt heap memory in the SUID-root ntfs-3g binary by crafting a  malicious NTFS image. The overflow is triggered on the READ path (stat,  readdir, open) when processing a security descriptor with multiple  ACCESS_DENIED ACEs containing WRITE_OWNER from distinct group SIDs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-21 12:00:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: heap overflow in ntfs_build_permissions_posix()",
                            "    - debian/patches/CVE-2026-40706.patch: allocate space for the worst",
                            "      case number of ACE entries in libntfs-3g/acls.c.",
                            "    - CVE-2026-40706",
                            ""
                        ],
                        "package": "ntfs-3g",
                        "version": "1:2022.10.3-5ubuntu0.25.10.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Fri, 17 Apr 2026 13:51:23 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "packagekit",
                "from_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1",
                    "version": "1.3.1-1ubuntu1"
                },
                "to_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1.1",
                    "version": "1.3.1-1ubuntu1.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2148512
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: TOCTOU Race on Transaction Flags (LP: #2148512)",
                            "    - debian/patches/Do-not-allow-re-invoking-methods-on-non-new-txn.patch:",
                            "      do not allow re-invoking methods on non-new transactions in",
                            "      src/pk-transaction.c.",
                            "    - CVE number pending",
                            ""
                        ],
                        "package": "packagekit",
                        "version": "1.3.1-1ubuntu1.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [
                            2148512
                        ],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Mon, 20 Apr 2026 07:24:35 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "packagekit-tools",
                "from_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1",
                    "version": "1.3.1-1ubuntu1"
                },
                "to_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1.1",
                    "version": "1.3.1-1ubuntu1.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2148512
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: TOCTOU Race on Transaction Flags (LP: #2148512)",
                            "    - debian/patches/Do-not-allow-re-invoking-methods-on-non-new-txn.patch:",
                            "      do not allow re-invoking methods on non-new transactions in",
                            "      src/pk-transaction.c.",
                            "    - CVE number pending",
                            ""
                        ],
                        "package": "packagekit",
                        "version": "1.3.1-1ubuntu1.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [
                            2148512
                        ],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Mon, 20 Apr 2026 07:24:35 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "snapd",
                "from_version": {
                    "source_package_name": "snapd",
                    "source_package_version": "2.73+ubuntu25.10.1",
                    "version": "2.73+ubuntu25.10.1"
                },
                "to_version": {
                    "source_package_name": "snapd",
                    "source_package_version": "2.74.1+ubuntu25.10.4",
                    "version": "2.74.1+ubuntu25.10.4"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-3888",
                        "url": "https://ubuntu.com/security/CVE-2026-3888",
                        "cve_description": "Local privilege escalation in snapd on Linux allows local attackers to get root privilege by re-creating snap's private /tmp directory when systemd-tmpfiles is configured to automatically clean up this directory. This issue affects Ubuntu 16.04 LTS, 18.04 LTS, 20.04 LTS, 22.04 LTS, and 24.04 LTS.",
                        "cve_priority": "high",
                        "cve_public_date": "2026-03-17 14:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [
                    2138629,
                    2141328,
                    2139611,
                    2139300,
                    2139099,
                    2141607,
                    2116949,
                    2068493,
                    2134364,
                    2124239,
                    2122054,
                    2117558,
                    1916244,
                    2121238,
                    2117121,
                    2112626,
                    2114704
                ],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-3888",
                                "url": "https://ubuntu.com/security/CVE-2026-3888",
                                "cve_description": "Local privilege escalation in snapd on Linux allows local attackers to get root privilege by re-creating snap's private /tmp directory when systemd-tmpfiles is configured to automatically clean up this directory. This issue affects Ubuntu 16.04 LTS, 18.04 LTS, 20.04 LTS, 22.04 LTS, and 24.04 LTS.",
                                "cve_priority": "high",
                                "cve_public_date": "2026-03-17 14:16:00 UTC"
                            }
                        ],
                        "log": [
                            " ",
                            "   * New upstream release, LP: #2138629",
                            "    - FDE: secboot fixes",
                            "    - Security: CVE-2026-3888",
                            "    - Packaging: fix deb package version number",
                            "    - Packaging: fix autopkgtest failure to install spread",
                            "    - Packaging: revert dropping transitional packages",
                            ""
                        ],
                        "package": "snapd",
                        "version": "2.74.1+ubuntu25.10.4",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2138629
                        ],
                        "author": "Ernest Lotter <ernest.lotter@canonical.com>",
                        "date": "Thu, 02 Apr 2026 08:44:00 +0200"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "    - FDE: measure DeployedMode and AuditMode variables if they appear",
                            "      as disabled in the event log to avoid a potential reseal-failure",
                            "      boot loop",
                            "    - LP: #2141328 FDE: reuse preinstall check context during install to",
                            "      account for user-ignored errors",
                            "    - LP: #2139611 FDE: fix db updates by allowing multiple payloads",
                            "    - LP: #2139300 snap-confine: add CAP_SYS_RESOURCE to allow raising",
                            "      memory lock limit when required",
                            "    - LP: #2139099 snap-confine: bump the max element count of the BPF",
                            "      map used to store IDs of allowed/matched devices to 1000",
                            "    - LP: #2141607 Desktop: revert change that caused user daemons",
                            "      declaring the desktop plug to implicitly depend on graphical-",
                            "      session.target",
                            "    - Interfaces: Added pidfd_open and memfd_secret to seccomp template",
                            "    - Interfaces: camera | add locking permission for /dev/video",
                            ""
                        ],
                        "package": "snapd",
                        "version": "2.74.1+ubuntu25.10",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2141328,
                            2139611,
                            2139300,
                            2139099,
                            2141607
                        ],
                        "author": "Ernest Lotter <ernest.lotter@canonical.com>",
                        "date": "Thu, 12 Feb 2026 21:27:23 +0200"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "    - FDE: use new activation API from secboot",
                            "    - FDE: use activation API also with non keydata keys",
                            "    - FDE: ignore internal recovery key expiration during install",
                            "    - FDE: support adding/removing PINs post-installation",
                            "    - FDE: support changing PINs post-installation",
                            "    - FDE: support adding a recovery key post-installation",
                            "    - FDE: provide activation status via new endpoint v2/system-",
                            "      info/storage-encrypted",
                            "    - FDE: support sealing and resealing using the preinstall check",
                            "      result",
                            "    - FDE: disable passphrase support during install",
                            "    - FDE: add keyboard configuration helpers",
                            "    - FDE: lazily inject keyboard layout configuration in kernel cmdline",
                            "    - FDE: enable pin tries and limits PIN entry attempts to 3",
                            "    - FDE: extend secureboot endpoint to accept DB, KEK, and PK",
                            "    - FDE: simplify /v2/system-volumes keyslots handling by allowing",
                            "      name-only entries, implicitly expanding to all system containers",
                            "    - FDE: support extra non-system key slot names to support agents",
                            "      such as Landscape to set dedicated recovery keys",
                            "    - FDE: initialize fde state after device state",
                            "    - FDE: use device node to find the storage container and keys",
                            "    - FDE: provide user visible name for disk based on ID_MODEL",
                            "    - FDE: update secboot in snapd with latest additions and fixes",
                            "    - core-initrd: add systemd service for setting plymouth keyboard",
                            "      layout and X11 keyboard layouts",
                            "    - core-initrd: set plymouth cleartext toggle option",
                            "    - core-initrd: fix plymouth missing font issue",
                            "    - core-initrd: update dependency from libteec1 to libteec2",
                            "    - core-initrd: add new dlopened libs",
                            "    - LP: #2116949 Preseeding: add support for preseeding of hybrid",
                            "      systems via the installer API$",
                            "    - Preseeding: check whether a path is a mountpoint before remounting",
                            "    - Confdb: support tagging paths as secret in storage schemas",
                            "    - Confdb: support filtering on placeholder sub-keys",
                            "    - Confdb: support filtering in API and confdbstate",
                            "    - Confdb: support field filtering on reads",
                            "    - Confdb: support \"parameters\" stanza and check filters against them",
                            "    - Confdb: add support for '--with' contraints",
                            "    - Confdb: parsing fixes and error handling improvements",
                            "    - Assertions: restrict serials to new format in confdb-control",
                            "    - Assertions: add verify signature function",
                            "    - Remote device management: modify request-message assertion to",
                            "      expose its time constraints for remote device management",
                            "    - Remote device management: support polling of store messages",
                            "    - Remote device management: add signing of response messages with",
                            "      device key",
                            "    - Prompting: enable notify protocol v5 and test prompt restoration",
                            "      after snapd restart",
                            "    - snap: change malformed '--channel=' warning to error",
                            "    - snap: add 'snap report-issue' command to get the available contact",
                            "      details for the specified snap",
                            "    - snap: add 'snap version --verbose' flag to include information on",
                            "      snap binaries origin",
                            "    - snap: create the XDG_RUNTIME_DIR folder",
                            "    - LP: #2068493 snap: add support for 'snap refresh --tracking'",
                            "    - snapctl: add '--tracking' flag to 'snapctl refresh'",
                            "    - Reexec: include the info filepath in the version compare debug log",
                            "    - Reexec: add support for forcing reexec into and older snapd snap",
                            "      by setting SNAP_REEXEC=force in the environment",
                            "    - snap-confine: correct error message related to snap-confine group",
                            "      policy validation",
                            "    - snap-confine: ensure we only mount existing directories",
                            "    - LP: #2134364 snap-confine: handle potential race when creating",
                            "      /tmp/snap-private-tmp when lacking systemd-tmpfiles support",
                            "    - snap-confine: filter plus characters from security tags",
                            "    - Desktop: use desktop file IDs as desktop IDs",
                            "    - Desktop: store the common ID in the desktop file",
                            "    - Desktop: allow graphical daemons to show icons in the dock",
                            "    - Desktop: change user daemons with desktop plug defined to depend",
                            "      on graphical-session.target",
                            "    - dm-verity for essential snaps: made change to prerequisite struct",
                            "    - Cross-distro: modify SELinux profile to allow connecting to squid",
                            "      proxy",
                            "    - Cross-distro: add support for migrating snap mount directory",
                            "    - Packaging: drop ubuntu-14.04 packaging",
                            "    - Packaging: drop ubuntu-{14.04,16.04} transitional binary packages",
                            "    - Packaging: remove desktop files and state lock file during snapd",
                            "      purge",
                            "    - Packaging: fix inhibition hint file being left behind on failed",
                            "      unlink-current-snap",
                            "    - Disallow timeouts < 1us in systemd units",
                            "    - Add snap-store to the user-daemons support overrides",
                            "    - Support for SuccessExitStatus= generation for systemd daemon",
                            "    - Make standby output more verbose",
                            "    - Add prepare-serial-request hook",
                            "    - Try to discard snap mount namespaces when no processes are running",
                            "      during snap updates",
                            "    - Improve handling of snap downloads cache by introducing periodic",
                            "      cleanup with more aggressive policy",
                            "    - Interfaces: mediatek-accel | create new interface",
                            "    - Interfaces: nvidia-video-driver-libs | create new interface",
                            "    - Interfaces: *-driver-libs | accept component paths",
                            "    - Interfaces: desktop-legacy, unity7 | remove workaround for slash",
                            "      filtering in ibus address",
                            "    - Interfaces: fwupd | allow writing reboot notification in /run",
                            "    - Interfaces: add 'install' coreutil to base AppArmor template",
                            "    - Interfaces: u2f-devices | add apparmor permissions to allow the",
                            "      use of the libfido2 library in snaps",
                            "    - Interfaces: u2f-devices | add support for Thetis security key",
                            "    - Interfaces: add AppArmor workaround for mmap MAP_HUGETLB",
                            "    - Interfaces: timeserver-control | manage per-link ntp settings via",
                            "      systemd-networkd",
                            ""
                        ],
                        "package": "snapd",
                        "version": "2.74+ubuntu25.10",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2116949,
                            2068493,
                            2134364
                        ],
                        "author": "Ernest Lotter <ernest.lotter@canonical.com>",
                        "date": "Tue, 20 Jan 2026 18:54:17 +0200"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * New upstream release, LP: #2124239",
                            "    - FDE: support replacing TPM protected keys at runtime via the",
                            "      /v2/system-volumes endpoint",
                            "    - FDE: support secboot preinstall check fix actions for 25.10+",
                            "      hybrid installs via the /v2/system/{label} endpoint",
                            "    - FDE: tweak polkit message to remove jargon",
                            "    - FDE: ensure proper sealing with kernel command line defaults",
                            "    - FDE: provide generic reseal function",
                            "    - FDE: support using OPTEE for protecting keys, as an alternative to",
                            "      existing fde-setup hooks (Ubuntu Core only)",
                            "    - Confdb: 'snapctl get --view' supports passing default values",
                            "    - Confdb: content sub-rules in confdb-schemas inherit their parent",
                            "      rule's \"access\"",
                            "    - Confdb: make confdb error kinds used in API more generic",
                            "    - Confdb: fully support lists and indexed paths (including unset)",
                            "    - Prompting: add notice backend for prompting types (unused for now)",
                            "    - Prompting: include request cgroup in prompt",
                            "    - Prompting: handle unsupported xattrs",
                            "    - Prompting: add permission mapping for the camera interface",
                            "    - Notices: read notices from state without state lock",
                            "    - Notices: add methods to get notice fields and create, reoccur, and",
                            "      deepcopy notice",
                            "    - Notices: add notice manager to coordinate separate notice backends",
                            "    - Notices: support draining notices from state when notice backend",
                            "      registered as producer of a particular notice type",
                            "    - Notices: query notice manager from daemon instead of querying",
                            "      state for notices directly",
                            "    - Packaging: Ubuntu | ignore .git directory",
                            "    - Packaging: FIPS | bump deb Go FIPS to 1.23",
                            "    - Packaging: snap | bump FIPS toolchain to 1.23",
                            "    - Packaging: debian | sync most upstream changes",
                            "    - Packaging: debian-sid | depends on libcap2-bin for postint",
                            "    - Packaging: Fedora | drop fakeroot",
                            "    - Packaging: snap | modify snapd.mk to pass build tags when running",
                            "      unit tests",
                            "    - Packaging: snap | modify snapd.mk to pass nooptee build tag",
                            "    - Packaging: modify Makefile.am to fix snap-confine install profile",
                            "      with 'make hack'",
                            "    - Packaging: modify Makefile.am to fix out-of-tree use of 'make",
                            "      hack'",
                            "    - LP: #2122054 Snap installation: skip snap icon download when",
                            "      running in a cloud or using a proxy store",
                            "    - Snap installation: add timeout to http client when downloading",
                            "      snap icon",
                            "    - Snap installation: use http(s) proxy for icon downloads",
                            "    - LP: #2117558 snap-confine: fix error message with /root/snap not",
                            "      accessible",
                            "    - snap-confine: fix non-suid limitation by switching to root:root to",
                            "      operate v1 freezer",
                            "    - core-initrd: do not use writable-paths when not available",
                            "    - core-initrd: remove debian folder",
                            "    - LP: #1916244 Interfaces: gpio-chardev | re-enable the gpio-chardev",
                            "      interface now with the more robust gpio-aggregator configfs kernel",
                            "      interface",
                            "    - Interfaces: gpio-chardev | exclusive snap connections, raise a",
                            "      conflict when both gpio-chardev and gpio are connected",
                            "    - Interfaces: gpio-chardev | fix gpio-aggregator module load order",
                            "    - Interfaces: ros-snapd-support | grant access to /v2/changes",
                            "    - Interfaces: uda-driver-libs, egl-driver-libs, gbm-driver-libs,",
                            "      opengl-driver-libs, opengles-driver-libs | new interfaces to",
                            "      support nvidia driver components",
                            "    - Interfaces: microstack-support | allow DPDK (hugepage related",
                            "      permissions)",
                            "    - Interfaces: system-observe | allow reading additional files in",
                            "      /proc, needed by node-exporter",
                            "    - Interfaces: u2f | add Cano Key, Thesis FIDO2 BioFP+ Security Key",
                            "      and Kensington VeriMark DT Fingerprint Key to device list",
                            "    - Interfaces: snap-interfaces-requests-control | allow shell API",
                            "      control",
                            "    - Interfaces: fwupd | allow access to Intel CVS sysfs",
                            "    - Interfaces: hardware-observe | allow read access to Kernel",
                            "      Samepage Merging (KSM)",
                            "    - Interfaces: xilinx-dma | support Multi Queue DMA (QDMA) IP",
                            "    - Interfaces: spi | relax sysfs permission rules to allow access to",
                            "      SPI device node attributes",
                            "    - Interfaces: content | introduce compatibility label",
                            "    - LP: #2121238 Interfaces: do not expose Kerberos tickets for",
                            "      classic snaps",
                            "    - Interfaces: ssh-public-keys | allow ro access to public host keys",
                            "      with ssh-key",
                            "    - Interfaces: Modify AppArmor template to allow listing systemd",
                            "      credentials and invoking systemd-creds",
                            "    - Interfaces: modify AppArmor template with workarounds for Go 1.35",
                            "      cgroup aware GOMAXPROCS",
                            "    - Interfaces: modify seccomp template to allow landlock_*",
                            "    - Prevent snap hooks from running while relevant snaps are unlinked",
                            "    - Make refreshes wait before unlinking snaps if running hooks can be",
                            "      affected",
                            "    - Fix systemd unit generation by moving \"WantedBy=\" from section",
                            "      \"unit\" to \"install\"",
                            "    - Add opt-in logging support for snap-update-ns",
                            "    - Unhide 'snap help' sign and export-key under Development category",
                            "    - LP: #2117121 Cleanly support socket activation for classic snap",
                            "    - Add architecture to 'snap version' output",
                            "    - Add 'snap debug api' option to disable authentication through",
                            "      auth.json",
                            "    - Show grade in notes for 'snap info --verbose'",
                            "    - Fix preseeding failure due to scan-disk issue on RPi",
                            "    - Support 'snap debug api' queries to user session agents",
                            "    - LP: #2112626 Improve progress reporting for snap install/refresh",
                            "    - Drop legacy BAMF_DESKTOP_FILE_HINT in desktop files",
                            "    - Fix /v2/apps error for root user when user services are present",
                            "    - LP: #2114704 Extend output to indicate when snap data snapshot was",
                            "      created during remove",
                            "    - Improve how we handle emmc volumes",
                            "    - Improve handling of system-user extra assertions",
                            ""
                        ],
                        "package": "snapd",
                        "version": "2.72",
                        "urgency": "medium",
                        "distributions": "xenial",
                        "launchpad_bugs_fixed": [
                            2124239,
                            2122054,
                            2117558,
                            1916244,
                            2121238,
                            2117121,
                            2112626,
                            2114704
                        ],
                        "author": "Ernest Lotter <ernest.lotter@canonical.com>",
                        "date": "Thu, 18 Sep 2025 10:00:54 +0200"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "ubuntu-pro-client",
                "from_version": {
                    "source_package_name": "ubuntu-advantage-tools",
                    "source_package_version": "37.1ubuntu0~25.10",
                    "version": "37.1ubuntu0~25.10"
                },
                "to_version": {
                    "source_package_name": "ubuntu-advantage-tools",
                    "source_package_version": "37.2ubuntu~25.10",
                    "version": "37.2ubuntu~25.10"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2131292
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/apparmor/ubuntu_pro_esm_cache.jinja2: fix \"DENIED\" messages when",
                            "    devicetree exists (LP: #2131292)",
                            ""
                        ],
                        "package": "ubuntu-advantage-tools",
                        "version": "37.2ubuntu~25.10",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2131292
                        ],
                        "author": "Renan Rodrigo <rr@ubuntu.com>",
                        "date": "Tue, 07 Apr 2026 15:18:57 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "ubuntu-pro-client-l10n",
                "from_version": {
                    "source_package_name": "ubuntu-advantage-tools",
                    "source_package_version": "37.1ubuntu0~25.10",
                    "version": "37.1ubuntu0~25.10"
                },
                "to_version": {
                    "source_package_name": "ubuntu-advantage-tools",
                    "source_package_version": "37.2ubuntu~25.10",
                    "version": "37.2ubuntu~25.10"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2131292
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/apparmor/ubuntu_pro_esm_cache.jinja2: fix \"DENIED\" messages when",
                            "    devicetree exists (LP: #2131292)",
                            ""
                        ],
                        "package": "ubuntu-advantage-tools",
                        "version": "37.2ubuntu~25.10",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2131292
                        ],
                        "author": "Renan Rodrigo <rr@ubuntu.com>",
                        "date": "Tue, 07 Apr 2026 15:18:57 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "vim",
                "from_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.2",
                    "version": "2:9.1.0967-1ubuntu6.2"
                },
                "to_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.3",
                    "version": "2:9.1.0967-1ubuntu6.3"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-35177",
                        "url": "https://ubuntu.com/security/CVE-2026-35177",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-06 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39881",
                        "url": "https://ubuntu.com/security/CVE-2026-39881",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-08 21:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-35177",
                                "url": "https://ubuntu.com/security/CVE-2026-35177",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-06 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39881",
                                "url": "https://ubuntu.com/security/CVE-2026-39881",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-08 21:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Path Traversal in zip.vim",
                            "    - debian/patches/CVE-2026-35177.patch: Detect malicious zip files before",
                            "      writing in runtime/autoload/zip.vim",
                            "    - CVE-2026-35177",
                            "  * SECURITY UPDATE: Command Injection in netbeans",
                            "    - debian/patches/CVE-2026-39881.patch: Validate typename, fg, and bg",
                            "      before passing to coloncmd in src/netbeans.c",
                            "    - CVE-2026-39881",
                            ""
                        ],
                        "package": "vim",
                        "version": "2:9.1.0967-1ubuntu6.3",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Kyle Kernick <kyle.kernick@canonical.com>",
                        "date": "Tue, 21 Apr 2026 13:38:35 -0600"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "vim-common",
                "from_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.2",
                    "version": "2:9.1.0967-1ubuntu6.2"
                },
                "to_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.3",
                    "version": "2:9.1.0967-1ubuntu6.3"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-35177",
                        "url": "https://ubuntu.com/security/CVE-2026-35177",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-06 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39881",
                        "url": "https://ubuntu.com/security/CVE-2026-39881",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-08 21:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-35177",
                                "url": "https://ubuntu.com/security/CVE-2026-35177",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-06 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39881",
                                "url": "https://ubuntu.com/security/CVE-2026-39881",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-08 21:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Path Traversal in zip.vim",
                            "    - debian/patches/CVE-2026-35177.patch: Detect malicious zip files before",
                            "      writing in runtime/autoload/zip.vim",
                            "    - CVE-2026-35177",
                            "  * SECURITY UPDATE: Command Injection in netbeans",
                            "    - debian/patches/CVE-2026-39881.patch: Validate typename, fg, and bg",
                            "      before passing to coloncmd in src/netbeans.c",
                            "    - CVE-2026-39881",
                            ""
                        ],
                        "package": "vim",
                        "version": "2:9.1.0967-1ubuntu6.3",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Kyle Kernick <kyle.kernick@canonical.com>",
                        "date": "Tue, 21 Apr 2026 13:38:35 -0600"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "vim-runtime",
                "from_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.2",
                    "version": "2:9.1.0967-1ubuntu6.2"
                },
                "to_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.3",
                    "version": "2:9.1.0967-1ubuntu6.3"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-35177",
                        "url": "https://ubuntu.com/security/CVE-2026-35177",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-06 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39881",
                        "url": "https://ubuntu.com/security/CVE-2026-39881",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-08 21:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-35177",
                                "url": "https://ubuntu.com/security/CVE-2026-35177",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-06 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39881",
                                "url": "https://ubuntu.com/security/CVE-2026-39881",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-08 21:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Path Traversal in zip.vim",
                            "    - debian/patches/CVE-2026-35177.patch: Detect malicious zip files before",
                            "      writing in runtime/autoload/zip.vim",
                            "    - CVE-2026-35177",
                            "  * SECURITY UPDATE: Command Injection in netbeans",
                            "    - debian/patches/CVE-2026-39881.patch: Validate typename, fg, and bg",
                            "      before passing to coloncmd in src/netbeans.c",
                            "    - CVE-2026-39881",
                            ""
                        ],
                        "package": "vim",
                        "version": "2:9.1.0967-1ubuntu6.3",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Kyle Kernick <kyle.kernick@canonical.com>",
                        "date": "Tue, 21 Apr 2026 13:38:35 -0600"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "vim-tiny",
                "from_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.2",
                    "version": "2:9.1.0967-1ubuntu6.2"
                },
                "to_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.3",
                    "version": "2:9.1.0967-1ubuntu6.3"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-35177",
                        "url": "https://ubuntu.com/security/CVE-2026-35177",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-06 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39881",
                        "url": "https://ubuntu.com/security/CVE-2026-39881",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-08 21:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-35177",
                                "url": "https://ubuntu.com/security/CVE-2026-35177",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-06 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39881",
                                "url": "https://ubuntu.com/security/CVE-2026-39881",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-08 21:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Path Traversal in zip.vim",
                            "    - debian/patches/CVE-2026-35177.patch: Detect malicious zip files before",
                            "      writing in runtime/autoload/zip.vim",
                            "    - CVE-2026-35177",
                            "  * SECURITY UPDATE: Command Injection in netbeans",
                            "    - debian/patches/CVE-2026-39881.patch: Validate typename, fg, and bg",
                            "      before passing to coloncmd in src/netbeans.c",
                            "    - CVE-2026-39881",
                            ""
                        ],
                        "package": "vim",
                        "version": "2:9.1.0967-1ubuntu6.3",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Kyle Kernick <kyle.kernick@canonical.com>",
                        "date": "Tue, 21 Apr 2026 13:38:35 -0600"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "xxd",
                "from_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.2",
                    "version": "2:9.1.0967-1ubuntu6.2"
                },
                "to_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.3",
                    "version": "2:9.1.0967-1ubuntu6.3"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-35177",
                        "url": "https://ubuntu.com/security/CVE-2026-35177",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-06 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39881",
                        "url": "https://ubuntu.com/security/CVE-2026-39881",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-08 21:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-35177",
                                "url": "https://ubuntu.com/security/CVE-2026-35177",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-06 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39881",
                                "url": "https://ubuntu.com/security/CVE-2026-39881",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-08 21:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Path Traversal in zip.vim",
                            "    - debian/patches/CVE-2026-35177.patch: Detect malicious zip files before",
                            "      writing in runtime/autoload/zip.vim",
                            "    - CVE-2026-35177",
                            "  * SECURITY UPDATE: Command Injection in netbeans",
                            "    - debian/patches/CVE-2026-39881.patch: Validate typename, fg, and bg",
                            "      before passing to coloncmd in src/netbeans.c",
                            "    - CVE-2026-39881",
                            ""
                        ],
                        "package": "vim",
                        "version": "2:9.1.0967-1ubuntu6.3",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Kyle Kernick <kyle.kernick@canonical.com>",
                        "date": "Tue, 21 Apr 2026 13:38:35 -0600"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            }
        ],
        "snap": []
    },
    "added": {
        "deb": [],
        "snap": []
    },
    "removed": {
        "deb": [],
        "snap": []
    },
    "notes": "Changelog diff for Ubuntu 25.10 questing image from daily image serial 20260415 to 20260428",
    "from_series": "questing",
    "to_series": "questing",
    "from_serial": "20260415",
    "to_serial": "20260428",
    "from_manifest_filename": "daily_manifest.previous",
    "to_manifest_filename": "manifest.current"
}