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

SUSE-SU-2026:20794-1

Vulnerability from csaf_suse - Published: 2026-03-19 12:20 - Updated: 2026-03-19 12:20
Summary
Security update for sqlite3
Severity
Moderate
Notes
Title of the patch: Security update for sqlite3
Description of the patch: This update for sqlite3 fixes the following issues: Update to version 3.51.3: - CVE-2025-7709: Integer Overflow in FTS5 Extension (bsc#1254670). - CVE-2025-70873: SQLite zipfile extension may disclose uninitialized heap memory during inflation (bsc#1259619). Changelog: Update to version 3.51.3: * Fix the WAL-reset database corruption bug: https://sqlite.org/wal.html#walresetbug * Other minor bug fixes. Update to version 3.51.2: * Fix an obscure deadlock in the new broken-posix-lock detection logic. * Fix multiple problems in the EXISTS-to-JOIN optimization. Update to version 3.51.1: * Fix incorrect results from nested EXISTS queries caused by the optimization in item 6b in the 3.51.0 release. * Fix a latent bug in fts5vocab virtual table, exposed by new optimizations in the 3.51.0 release Update to version 3.51.0: * New macros in sqlite3.h: - SQLITE_SCM_BRANCH -> the name of the branch from which the source code is taken. - SQLITE_SCM_TAGS -> space-separated list of tags on the source code check-in. - SQLITE_SCM_DATETIME -> ISO-8601 date and time of the source * Two new JSON functions, jsonb_each() and jsonb_tree() work the same as the existing json_each() and json_tree() functions except that they return JSONB for the "value" column when the "type" is 'array' or 'object'. * The carray and percentile extensions are now built into the amalgamation, though they are disabled by default and must be activated at compile-time using the -DSQLITE_ENABLE_CARRAY and/or -DSQLITE_ENABLE_PERCENTILE options, respectively. * Enhancements to TCL Interface: - Add the -asdict flag to the eval command to have it set the row data as a dict instead of an array. - User-defined functions may now break to return an SQL NULL. * CLI enhancements: - Increase the precision of ".timer" to microseconds. - Enhance the "box" and "column" formatting modes to deal with double-wide characters. - The ".imposter" command provides read-only imposter tables that work with VACUUM and do not require the --unsafe-testing option. - Add the --ifexists option to the CLI command-line option and to the .open command. - Limit columns widths set by the ".width" command to 30,000 or less, as there is not good reason to have wider columns, but supporting wider columns provides opportunity to malefactors. * Performance enhancements: - Use fewer CPU cycles to commit a read transaction. - Early detection of joins that return no rows due to one or more of the tables containing no rows. - Avoid evaluation of scalar subqueries if the result of the subquery does not change the result of the overall expression. - Faster window function queries when using "BETWEEN :x FOLLOWING AND :y FOLLOWING" with a large :y. * Add the PRAGMA wal_checkpoint=NOOP; command and the SQLITE_CHECKPOINT_NOOP argument for sqlite3_wal_checkpoint_v2(). * Add the sqlite3_set_errmsg() API for use by extensions. * Add the sqlite3_db_status64() API, which works just like the existing sqlite3_db_status() API except that it returns 64-bit results. * Add the SQLITE_DBSTATUS_TEMPBUF_SPILL option to the sqlite3_db_status() and sqlite3_db_status64() interfaces. * In the session extension add the sqlite3changeset_apply_v3() interface. * For the built-in printf() and the format() SQL function, omit the leading '-' from negative floating point numbers if the '+' flag is omitted and the "#" flag is present and all displayed digits are '0'. Use '%#f' or similar to avoid outputs like '-0.00' and instead show just '0.00'. * Improved error messages generated by FTS5. * Enforce STRICT typing on computed columns. * Improved support for VxWorks * JavaScript/WASM now supports 64-bit WASM. The canonical builds continue to be 32-bit but creating one's own 64-bit build is now as simple as running "make".
Patchnames: SUSE-SLE-Micro-6.0-631
Terms of use: CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).
Affected products
Product Identifier Version Remediation
Unresolved product id: SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.aarch64
Vendor Fix
Unresolved product id: SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.s390x
Vendor Fix
Unresolved product id: SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.x86_64
Vendor Fix
Threats
Impact moderate
Affected products
Recommended 3 products, the same list as for CVE-2025-70873
Threats
Impact moderate

{
  "document": {
    "aggregate_severity": {
      "namespace": "https://www.suse.com/support/security/rating/",
      "text": "moderate"
    },
    "category": "csaf_security_advisory",
    "csaf_version": "2.0",
    "distribution": {
      "text": "Copyright 2024 SUSE LLC. All rights reserved.",
      "tlp": {
        "label": "WHITE",
        "url": "https://www.first.org/tlp/"
      }
    },
    "lang": "en",
    "notes": [
      {
        "category": "summary",
        "text": "Security update for sqlite3",
        "title": "Title of the patch"
      },
      {
        "category": "description",
        "text": "This update for sqlite3 fixes the following issues:\n\nUpdate to version 3.51.3:\n\n- CVE-2025-7709: Integer Overflow in FTS5 Extension (bsc#1254670).\n- CVE-2025-70873: SQLite zipfile extension may disclose uninitialized heap memory during inflation (bsc#1259619).\n\nChangelog:\n\nUpdate to version 3.51.3:\n  \n * Fix the WAL-reset database corruption bug:\n   https://sqlite.org/wal.html#walresetbug\n * Other minor bug fixes.\n  \nUpdate to version 3.51.2:\n \n * Fix an obscure deadlock in the new broken-posix-lock detection\n   logic.\n * Fix multiple problems in the EXISTS-to-JOIN optimization.\n  \nUpdate to version 3.51.1:\n \n * Fix incorrect results from nested EXISTS queries caused by the\n   optimization in item 6b in the 3.51.0 release.\n * Fix a latent bug in fts5vocab virtual table, exposed by new\n   optimizations in the 3.51.0 release\n  \nUpdate to version 3.51.0:\n \n * New macros in sqlite3.h:\n   - SQLITE_SCM_BRANCH -\u003e the name of the branch from which the\n     source code is taken.\n   - SQLITE_SCM_TAGS -\u003e space-separated list of tags on the source\n     code check-in.\n   - SQLITE_SCM_DATETIME -\u003e ISO-8601 date and time of the source\n * Two new JSON functions, jsonb_each() and jsonb_tree() work the\n   same as the existing json_each() and json_tree() functions\n   except that they return JSONB for the \"value\" column when the\n   \"type\" is \u0027array\u0027 or \u0027object\u0027.\n * The carray and percentile extensions are now built into the\n   amalgamation, though they are disabled by default and must be\n   activated at compile-time using the -DSQLITE_ENABLE_CARRAY\n   and/or -DSQLITE_ENABLE_PERCENTILE options, respectively.\n * Enhancements to TCL Interface:\n   - Add the -asdict flag to the eval command to have it set the\n     row data as a dict instead of an array.\n   - User-defined functions may now break to return an SQL NULL.\n * CLI enhancements:\n   - Increase the precision of \".timer\" to microseconds.\n   - Enhance the \"box\" and \"column\" formatting modes to deal with\n     double-wide characters.\n   - The \".imposter\" command provides read-only imposter tables\n     that work with VACUUM and do not require the --unsafe-testing\n     option.\n   - Add the --ifexists option to the CLI command-line option and\n     to the .open command.\n   - Limit columns widths set by the \".width\" command to 30,000 or\n     less, as there is not good reason to have wider columns, but\n     supporting wider columns provides opportunity to malefactors.\n * Performance enhancements:\n   - Use fewer CPU cycles to commit a read transaction.\n   - Early detection of joins that return no rows due to one or\n     more of the tables containing no rows.\n   - Avoid evaluation of scalar subqueries if the result of the\n     subquery does not change the result of the overall expression.\n   - Faster window function queries when using\n     \"BETWEEN :x FOLLOWING AND :y FOLLOWING\" with a large :y.\n * Add the PRAGMA wal_checkpoint=NOOP; command and the\n   SQLITE_CHECKPOINT_NOOP argument for sqlite3_wal_checkpoint_v2().\n * Add the sqlite3_set_errmsg() API for use by extensions.\n * Add the sqlite3_db_status64() API, which works just like the\n   existing sqlite3_db_status() API except that it returns 64-bit\n   results.\n * Add the SQLITE_DBSTATUS_TEMPBUF_SPILL option to the\n   sqlite3_db_status() and sqlite3_db_status64() interfaces.\n * In the session extension add the sqlite3changeset_apply_v3()\n   interface.\n * For the built-in printf() and the format() SQL function, omit\n   the leading \u0027-\u0027 from negative floating point numbers if the \u0027+\u0027\n   flag is omitted and the \"#\" flag is present and all displayed\n   digits are \u00270\u0027. Use \u0027%#f\u0027 or similar to avoid outputs like\n   \u0027-0.00\u0027 and instead show just \u00270.00\u0027.\n * Improved error messages generated by FTS5.\n * Enforce STRICT typing on computed columns.\n * Improved support for VxWorks\n * JavaScript/WASM now supports 64-bit WASM. The canonical builds\n   continue to be 32-bit but creating one\u0027s own 64-bit build is\n   now as simple as running \"make\".\n",
        "title": "Description of the patch"
      },
      {
        "category": "details",
        "text": "SUSE-SLE-Micro-6.0-631",
        "title": "Patchnames"
      },
      {
        "category": "legal_disclaimer",
        "text": "CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).",
        "title": "Terms of use"
      }
    ],
    "publisher": {
      "category": "vendor",
      "contact_details": "https://www.suse.com/support/security/contact/",
      "name": "SUSE Product Security Team",
      "namespace": "https://www.suse.com/"
    },
    "references": [
      {
        "category": "external",
        "summary": "SUSE ratings",
        "url": "https://www.suse.com/support/security/rating/"
      },
      {
        "category": "self",
        "summary": "URL of this CSAF notice",
        "url": "https://ftp.suse.com/pub/projects/security/csaf/suse-su-2026_20794-1.json"
      },
      {
        "category": "self",
        "summary": "URL for SUSE-SU-2026:20794-1",
        "url": "https://www.suse.com/support/update/announcement/2026/suse-su-202620794-1/"
      },
      {
        "category": "self",
        "summary": "E-Mail link for SUSE-SU-2026:20794-1",
        "url": "https://lists.suse.com/pipermail/sle-security-updates/2026-March/024895.html"
      },
      {
        "category": "self",
        "summary": "SUSE Bug 1254670",
        "url": "https://bugzilla.suse.com/1254670"
      },
      {
        "category": "self",
        "summary": "SUSE Bug 1259619",
        "url": "https://bugzilla.suse.com/1259619"
      },
      {
        "category": "self",
        "summary": "SUSE CVE CVE-2025-70873 page",
        "url": "https://www.suse.com/security/cve/CVE-2025-70873/"
      },
      {
        "category": "self",
        "summary": "SUSE CVE CVE-2025-7709 page",
        "url": "https://www.suse.com/security/cve/CVE-2025-7709/"
      }
    ],
    "title": "Security update for sqlite3",
    "tracking": {
      "current_release_date": "2026-03-19T12:20:26Z",
      "generator": {
        "date": "2026-03-19T12:20:26Z",
        "engine": {
          "name": "cve-database.git:bin/generate-csaf.pl",
          "version": "1"
        }
      },
      "id": "SUSE-SU-2026:20794-1",
      "initial_release_date": "2026-03-19T12:20:26Z",
      "revision_history": [
        {
          "date": "2026-03-19T12:20:26Z",
          "number": "1",
          "summary": "Current version"
        }
      ],
      "status": "final",
      "version": "1"
    }
  },
  "product_tree": {
    "branches": [
      {
        "branches": [
          {
            "branches": [
              {
                "category": "product_version",
                "name": "libsqlite3-0-3.51.3-1.1.aarch64",
                "product": {
                  "name": "libsqlite3-0-3.51.3-1.1.aarch64",
                  "product_id": "libsqlite3-0-3.51.3-1.1.aarch64"
                }
              }
            ],
            "category": "architecture",
            "name": "aarch64"
          },
          {
            "branches": [
              {
                "category": "product_version",
                "name": "libsqlite3-0-3.51.3-1.1.s390x",
                "product": {
                  "name": "libsqlite3-0-3.51.3-1.1.s390x",
                  "product_id": "libsqlite3-0-3.51.3-1.1.s390x"
                }
              }
            ],
            "category": "architecture",
            "name": "s390x"
          },
          {
            "branches": [
              {
                "category": "product_version",
                "name": "libsqlite3-0-3.51.3-1.1.x86_64",
                "product": {
                  "name": "libsqlite3-0-3.51.3-1.1.x86_64",
                  "product_id": "libsqlite3-0-3.51.3-1.1.x86_64"
                }
              }
            ],
            "category": "architecture",
            "name": "x86_64"
          },
          {
            "branches": [
              {
                "category": "product_name",
                "name": "SUSE Linux Micro 6.0",
                "product": {
                  "name": "SUSE Linux Micro 6.0",
                  "product_id": "SUSE Linux Micro 6.0",
                  "product_identification_helper": {
                    "cpe": "cpe:/o:suse:sl-micro:6.0"
                  }
                }
              }
            ],
            "category": "product_family",
            "name": "SUSE Linux Enterprise"
          }
        ],
        "category": "vendor",
        "name": "SUSE"
      }
    ],
    "relationships": [
      {
        "category": "default_component_of",
        "full_product_name": {
          "name": "libsqlite3-0-3.51.3-1.1.aarch64 as component of SUSE Linux Micro 6.0",
          "product_id": "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.aarch64"
        },
        "product_reference": "libsqlite3-0-3.51.3-1.1.aarch64",
        "relates_to_product_reference": "SUSE Linux Micro 6.0"
      },
      {
        "category": "default_component_of",
        "full_product_name": {
          "name": "libsqlite3-0-3.51.3-1.1.s390x as component of SUSE Linux Micro 6.0",
          "product_id": "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.s390x"
        },
        "product_reference": "libsqlite3-0-3.51.3-1.1.s390x",
        "relates_to_product_reference": "SUSE Linux Micro 6.0"
      },
      {
        "category": "default_component_of",
        "full_product_name": {
          "name": "libsqlite3-0-3.51.3-1.1.x86_64 as component of SUSE Linux Micro 6.0",
          "product_id": "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.x86_64"
        },
        "product_reference": "libsqlite3-0-3.51.3-1.1.x86_64",
        "relates_to_product_reference": "SUSE Linux Micro 6.0"
      }
    ]
  },
  "vulnerabilities": [
    {
      "cve": "CVE-2025-70873",
      "ids": [
        {
          "system_name": "SUSE CVE Page",
          "text": "https://www.suse.com/security/cve/CVE-2025-70873"
        }
      ],
      "notes": [
        {
          "category": "general",
          "text": "An information disclosure issue in the zipfileInflate function in the zipfile extension in SQLite v3.51.1 and earlier allows attackers to obtain heap memory via supplying a crafted ZIP file.",
          "title": "CVE description"
        }
      ],
      "product_status": {
        "recommended": [
          "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.aarch64",
          "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.s390x",
          "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.x86_64"
        ]
      },
      "references": [
        {
          "category": "external",
          "summary": "CVE-2025-70873",
          "url": "https://www.suse.com/security/cve/CVE-2025-70873"
        },
        {
          "category": "external",
          "summary": "SUSE Bug 1259619 for CVE-2025-70873",
          "url": "https://bugzilla.suse.com/1259619"
        }
      ],
      "remediations": [
        {
          "category": "vendor_fix",
          "details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
          "product_ids": [
            "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.aarch64",
            "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.s390x",
            "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.x86_64"
          ]
        }
      ],
      "scores": [
        {
          "cvss_v3": {
            "baseScore": 4.3,
            "baseSeverity": "MEDIUM",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N",
            "version": "3.1"
          },
          "products": [
            "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.aarch64",
            "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.s390x",
            "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.x86_64"
          ]
        }
      ],
      "threats": [
        {
          "category": "impact",
          "date": "2026-03-19T12:20:26Z",
          "details": "moderate"
        }
      ],
      "title": "CVE-2025-70873"
    },
    {
      "cve": "CVE-2025-7709",
      "ids": [
        {
          "system_name": "SUSE CVE Page",
          "text": "https://www.suse.com/security/cve/CVE-2025-7709"
        }
      ],
      "notes": [
        {
          "category": "general",
          "text": "An integer overflow exists in the  FTS5 https://sqlite.org/fts5.html   extension. It occurs when the size of an array of tombstone pointers is calculated and truncated into a 32-bit integer. A pointer to partially controlled data can then be written out of bounds.",
          "title": "CVE description"
        }
      ],
      "product_status": {
        "recommended": [
          "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.aarch64",
          "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.s390x",
          "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.x86_64"
        ]
      },
      "references": [
        {
          "category": "external",
          "summary": "CVE-2025-7709",
          "url": "https://www.suse.com/security/cve/CVE-2025-7709"
        },
        {
          "category": "external",
          "summary": "SUSE Bug 1254670 for CVE-2025-7709",
          "url": "https://bugzilla.suse.com/1254670"
        }
      ],
      "remediations": [
        {
          "category": "vendor_fix",
          "details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
          "product_ids": [
            "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.aarch64",
            "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.s390x",
            "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.x86_64"
          ]
        }
      ],
      "scores": [
        {
          "cvss_v3": {
            "baseScore": 5.4,
            "baseSeverity": "MEDIUM",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L",
            "version": "3.1"
          },
          "products": [
            "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.aarch64",
            "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.s390x",
            "SUSE Linux Micro 6.0:libsqlite3-0-3.51.3-1.1.x86_64"
          ]
        }
      ],
      "threats": [
        {
          "category": "impact",
          "date": "2026-03-19T12:20:26Z",
          "details": "moderate"
        }
      ],
      "title": "CVE-2025-7709"
    }
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…