{
    "summary": {
        "snap": {
            "added": [],
            "removed": [],
            "diff": []
        },
        "deb": {
            "added": [],
            "removed": [],
            "diff": [
                "libnetplan1",
                "libsqlite3-0",
                "netplan-generator",
                "netplan.io",
                "python3-cryptography",
                "python3-netplan"
            ]
        }
    },
    "diff": {
        "deb": [
            {
                "name": "libnetplan1",
                "from_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.2-1ubuntu5",
                    "version": "1.2-1ubuntu5"
                },
                "to_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.2-1ubuntu5.1",
                    "version": "1.2-1ubuntu5.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2104373
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/p/lp2104373-return-exit-code-1-on-error.patch: return exit code 1 when",
                            "    netplan exits on error (LP: #2104373)",
                            ""
                        ],
                        "package": "netplan.io",
                        "version": "1.2-1ubuntu5.1",
                        "urgency": "medium",
                        "distributions": "resolute",
                        "launchpad_bugs_fixed": [
                            2104373
                        ],
                        "author": "Guilherme Puida Moreira <guilherme.moreira@canonical.com>",
                        "date": "Mon, 31 Aug 2026 09:23:48 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libsqlite3-0",
                "from_version": {
                    "source_package_name": "sqlite3",
                    "source_package_version": "3.46.1-9ubuntu0.2",
                    "version": "3.46.1-9ubuntu0.2"
                },
                "to_version": {
                    "source_package_name": "sqlite3",
                    "source_package_version": "3.46.1-9ubuntu0.3",
                    "version": "3.46.1-9ubuntu0.3"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-39113",
                        "url": "https://ubuntu.com/security/CVE-2026-39113",
                        "cve_description": "Buffer Overflow vulnerability in SQLite affected version source snapshots/builds containing Fossil check-in 8bdc0d485e3ad0c7a1e818da66f106951d496b05cbe61d12c2c448f2f24b6d5d (Git mirror 169f68ed88b34cb68f720191c64c058f2ccec508, 2026-03-11) and later snapshots/builds allows an attacker to cause a denial of service via the ext/misc/sqlar.c, sqlarUncompressFunc(), sqlar_uncompress(), sqlite3_value_int64(), sqlite3_malloc(int), uncompress() components",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-08-25 21:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-39113",
                                "url": "https://ubuntu.com/security/CVE-2026-39113",
                                "cve_description": "Buffer Overflow vulnerability in SQLite affected version source snapshots/builds containing Fossil check-in 8bdc0d485e3ad0c7a1e818da66f106951d496b05cbe61d12c2c448f2f24b6d5d (Git mirror 169f68ed88b34cb68f720191c64c058f2ccec508, 2026-03-11) and later snapshots/builds allows an attacker to cause a denial of service via the ext/misc/sqlar.c, sqlarUncompressFunc(), sqlar_uncompress(), sqlite3_value_int64(), sqlite3_malloc(int), uncompress() components",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-08-25 21:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: buffer overflow via integer truncation in sqlar extension",
                            "    - debian/patches/CVE-2026-39113.patch: change sqlite3_value_int() to",
                            "      sqlite3_value_int64() in sqlarUncompressFunc() in ext/misc/sqlar.c to",
                            "      prevent 32-bit truncation of the decompressed size, which caused an",
                            "      undersized buffer allocation and heap buffer overflow via uncompress().",
                            "    - CVE-2026-39113",
                            ""
                        ],
                        "package": "sqlite3",
                        "version": "3.46.1-9ubuntu0.3",
                        "urgency": "medium",
                        "distributions": "resolute-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Leonidas Da Silva Barbosa <leo.barbosa@canonical.com>",
                        "date": "Thu, 03 Sep 2026 11:45:25 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "netplan-generator",
                "from_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.2-1ubuntu5",
                    "version": "1.2-1ubuntu5"
                },
                "to_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.2-1ubuntu5.1",
                    "version": "1.2-1ubuntu5.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2104373
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/p/lp2104373-return-exit-code-1-on-error.patch: return exit code 1 when",
                            "    netplan exits on error (LP: #2104373)",
                            ""
                        ],
                        "package": "netplan.io",
                        "version": "1.2-1ubuntu5.1",
                        "urgency": "medium",
                        "distributions": "resolute",
                        "launchpad_bugs_fixed": [
                            2104373
                        ],
                        "author": "Guilherme Puida Moreira <guilherme.moreira@canonical.com>",
                        "date": "Mon, 31 Aug 2026 09:23:48 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "netplan.io",
                "from_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.2-1ubuntu5",
                    "version": "1.2-1ubuntu5"
                },
                "to_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.2-1ubuntu5.1",
                    "version": "1.2-1ubuntu5.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2104373
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/p/lp2104373-return-exit-code-1-on-error.patch: return exit code 1 when",
                            "    netplan exits on error (LP: #2104373)",
                            ""
                        ],
                        "package": "netplan.io",
                        "version": "1.2-1ubuntu5.1",
                        "urgency": "medium",
                        "distributions": "resolute",
                        "launchpad_bugs_fixed": [
                            2104373
                        ],
                        "author": "Guilherme Puida Moreira <guilherme.moreira@canonical.com>",
                        "date": "Mon, 31 Aug 2026 09:23:48 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "python3-cryptography",
                "from_version": {
                    "source_package_name": "python-cryptography",
                    "source_package_version": "46.0.5-1ubuntu2",
                    "version": "46.0.5-1ubuntu2"
                },
                "to_version": {
                    "source_package_name": "python-cryptography",
                    "source_package_version": "46.0.5-1ubuntu2.2",
                    "version": "46.0.5-1ubuntu2.2"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-69247",
                        "url": "https://ubuntu.com/security/CVE-2026-69247",
                        "cve_description": "cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. From 44.0.0 until 50.0.0, pkcs7_decrypt_der, pkcs7_decrypt_pem, and pkcs7_decrypt_smime reported the outcome of decrypting a RecipientInfo's encryptedKey in several distinguishable ways, one of which disclosed the exact length recovered from the RSA operation. The same distinction was also observable by timing. An application that decrypts attacker-supplied EnvelopedData and reflects the outcome gives the attacker a Bleichenbacher oracle against the content-encryption key. Decryption ran as RSA PKCS#1 v1.5 decrypt of encryptedKey, build an AES cipher from the result, then AES-CBC decrypt and PKCS#7 unpad. Invalid RSA padding, a valid padding with a bad key length, a correct length with a wrong key, and the real key each failed or succeeded differently. Case 1 is reachable only where the linked library lacks implicit rejection: OpenSSL 3.0 and 3.1, LibreSSL, and BoringSSL. Exploitation requires a service that auto-decrypts untrusted EnvelopedData matching the victim certificate and answers adaptively at high volume, such as an S/MIME gateway or mail filter. This issue is fixed in 50.0.0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-08-03 22:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-69248",
                        "url": "https://ubuntu.com/security/CVE-2026-69248",
                        "cve_description": "cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. In versions 45.0.0 through 48.0.0, if an intermediate constrained CA permits the DNS name foo.example.com, and the leaf certificate has a wildcard in its DNS SAN of *.example.com, python-cryptography's verifier accepts which allows escaping outside of the permitted names. The core issue is in DNSConstraint::matches, where a wildcard pattern was treated as matching a more-specific permitted constraint even though *.example.com can expand to sibling names such as bar.example.com outside foo.example.com. This allows acceptance of an invalid certificate chain. This issue is fixed in 49.0.0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-08-03 22:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-69249",
                        "url": "https://ubuntu.com/security/CVE-2026-69249",
                        "cve_description": "python-cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. In versions 42.0.0 through 48.0.0, when resolving invalid certificate chains that include duplicate copies of self-signed certificates, the processing recursively invokes the same candidate, leading to an exponential blowup. Although the limitation that the chain depth cannot exceed a specified maximum depth prevents unbounded recursion and guarantees termination, an attacker-controlled certificate chain can lead the processing to easily take more than 5s to reject in testing. This amplification could form the basis for a resource exhaustion denial of service attack. The core issue arises in the recursive nature of build_chain_inner, which does not de-duplicate against previously analyzed candidates. As the correctness of validation is not affected, the integrity of a system cannot be compromised through this vector, only its availability. This issue is fixed in 49.0.0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-08-03 22:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-69247",
                                "url": "https://ubuntu.com/security/CVE-2026-69247",
                                "cve_description": "cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. From 44.0.0 until 50.0.0, pkcs7_decrypt_der, pkcs7_decrypt_pem, and pkcs7_decrypt_smime reported the outcome of decrypting a RecipientInfo's encryptedKey in several distinguishable ways, one of which disclosed the exact length recovered from the RSA operation. The same distinction was also observable by timing. An application that decrypts attacker-supplied EnvelopedData and reflects the outcome gives the attacker a Bleichenbacher oracle against the content-encryption key. Decryption ran as RSA PKCS#1 v1.5 decrypt of encryptedKey, build an AES cipher from the result, then AES-CBC decrypt and PKCS#7 unpad. Invalid RSA padding, a valid padding with a bad key length, a correct length with a wrong key, and the real key each failed or succeeded differently. Case 1 is reachable only where the linked library lacks implicit rejection: OpenSSL 3.0 and 3.1, LibreSSL, and BoringSSL. Exploitation requires a service that auto-decrypts untrusted EnvelopedData matching the victim certificate and answers adaptively at high volume, such as an S/MIME gateway or mail filter. This issue is fixed in 50.0.0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-08-03 22:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-69248",
                                "url": "https://ubuntu.com/security/CVE-2026-69248",
                                "cve_description": "cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. In versions 45.0.0 through 48.0.0, if an intermediate constrained CA permits the DNS name foo.example.com, and the leaf certificate has a wildcard in its DNS SAN of *.example.com, python-cryptography's verifier accepts which allows escaping outside of the permitted names. The core issue is in DNSConstraint::matches, where a wildcard pattern was treated as matching a more-specific permitted constraint even though *.example.com can expand to sibling names such as bar.example.com outside foo.example.com. This allows acceptance of an invalid certificate chain. This issue is fixed in 49.0.0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-08-03 22:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-69249",
                                "url": "https://ubuntu.com/security/CVE-2026-69249",
                                "cve_description": "python-cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. In versions 42.0.0 through 48.0.0, when resolving invalid certificate chains that include duplicate copies of self-signed certificates, the processing recursively invokes the same candidate, leading to an exponential blowup. Although the limitation that the chain depth cannot exceed a specified maximum depth prevents unbounded recursion and guarantees termination, an attacker-controlled certificate chain can lead the processing to easily take more than 5s to reject in testing. This amplification could form the basis for a resource exhaustion denial of service attack. The core issue arises in the recursive nature of build_chain_inner, which does not de-duplicate against previously analyzed candidates. As the correctness of validation is not affected, the integrity of a system cannot be compromised through this vector, only its availability. This issue is fixed in 49.0.0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-08-03 22:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: sensitive decryption data is leaked",
                            "    - debian/patches/CVE-2026-69247.patch: don't leak how PKCS#7 encryptedKey",
                            "      decryption failed in docs/hazmat/primitives/asymmetric/serialization.rst,",
                            "      docs/spelling_wordlist.txt, src/rust/src/pkcs7.rs, tests/doubles.py,",
                            "      tests/hazmat/primitives/test_pkcs7.py.",
                            "    - CVE-2026-69247",
                            "  * SECURITY UPDATE: acceptance of non-permitted DNS names",
                            "    - debian/patches/CVE-2026-69248.patch: distinguish NC kinds when",
                            "      evaluating wildcard DNS SANs in",
                            "      src/rust/cryptography-x509-verification/src/lib.rs,",
                            "      src/rust/cryptography-x509-verification/src/types.rs.",
                            "    - CVE-2026-69248",
                            "  * SECURITY UPDATE: exponential processing of invalid certificates",
                            "    - debian/patches/CVE-2026-69249.patch: add a signature validation budget",
                            "      during path construction in",
                            "      src/rust/cryptography-x509-verification/src/lib.rs,",
                            "      src/rust/cryptography-x509-verification/src/policy/mod.rs.",
                            "    - CVE-2026-69249",
                            ""
                        ],
                        "package": "python-cryptography",
                        "version": "46.0.5-1ubuntu2.2",
                        "urgency": "medium",
                        "distributions": "resolute-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Charles Cochran <charles.cochran@canonical.com>",
                        "date": "Fri, 04 Sep 2026 17:24:34 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "python3-netplan",
                "from_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.2-1ubuntu5",
                    "version": "1.2-1ubuntu5"
                },
                "to_version": {
                    "source_package_name": "netplan.io",
                    "source_package_version": "1.2-1ubuntu5.1",
                    "version": "1.2-1ubuntu5.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2104373
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/p/lp2104373-return-exit-code-1-on-error.patch: return exit code 1 when",
                            "    netplan exits on error (LP: #2104373)",
                            ""
                        ],
                        "package": "netplan.io",
                        "version": "1.2-1ubuntu5.1",
                        "urgency": "medium",
                        "distributions": "resolute",
                        "launchpad_bugs_fixed": [
                            2104373
                        ],
                        "author": "Guilherme Puida Moreira <guilherme.moreira@canonical.com>",
                        "date": "Mon, 31 Aug 2026 09:23:48 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            }
        ],
        "snap": []
    },
    "added": {
        "deb": [],
        "snap": []
    },
    "removed": {
        "deb": [],
        "snap": []
    },
    "notes": "Changelog diff for Ubuntu 26.04 resolute image from daily image serial 20260912 to 20260918",
    "from_series": "resolute",
    "to_series": "resolute",
    "from_serial": "20260912",
    "to_serial": "20260918",
    "from_manifest_filename": "daily_manifest.previous",
    "to_manifest_filename": "manifest.current"
}