OPENSUSE-SU-2026:22122-1

Vulnerability from csaf_opensuse - Published: 2026-10-16 20:40 - Updated: 2026-10-19 17:25
Summary
Security update for psqlODBC
Severity
Moderate
Notes
Title of the patch: Security update for psqlODBC
Description of the patch: This update for psqlODBC fixes the following issues: Changes in psqlODBC: Update to 18.00.0005: * https://odbc.postgresql.org/docs/release.html * Fix heap memory corruption when an application binds more than 32767 parameters on a single statement. SQLBindParameter now rejects parameter numbers outside 1..32767 with SQLSTATE 07009 (CVE-2026-109448, bsc#1285073). * Fix the placeholder cast being truncated from parameter 1000 on, which failed with 'type "timestam" does not exist'. * Report the largest column size instead of SQL_NO_TOTAL (-4) as COLUMN_SIZE for bytea in SQLGetTypeInfo, which broke bytea parameters through MSDASQL. - Changes in 18.00.0004: * Fix the result-conversions regression test on big-endian systems. - Changes in 18.00.0003: * Report SQLSTATE 22003 for out-of-range integer conversions instead of silently returning the wrapped low bits. * Fix statement level rollback (Protocol=7.4-2) discarding the whole transaction on a syntax error. * Do not wrap internal queries in a savepoint at rollback-on-error level 0 (Protocol=7.4-0), which lost transactions on servers without SAVEPOINT support. * Redact the database password (ODBC PWD and libpq pqopt password) in debug logs. * Fix hang on COPY ... FROM STDIN / TO STDOUT: report it as unsupported and keep the connection usable. * Fix 'infinity'/'-infinity' dates being silently returned as today's date. * Document the connection string escaping rules. - Changes in 18.00.0002: * Use a signed type for the error status. * Redact sensitive connection parameters in the driver logs. * Fix double free / heap corruption during SQLDisconnect cleanup. * Clear PGresults from per-query rollback. * Validate UTF-16 surrogate pairs before combining them. * Pass SQLSetDescRec field values correctly. * Avoid reading before leading string literals. * Detach freed application descriptors from statements. * Reject invalid SQLPutData lengths. * Reject overlong cursor names. * Fix version reporting. * Handle ARD bookmark allocation failure. * Validate percent escapes before decoding connection string values. * Avoid reading past the end of conn_settings. * Fix stack buffer overflow in getPrecisionPart(). * Fix SQLPrimaryKeys to exclude INCLUDE columns from the result. - Changes in 18.00.0000, 18.00.0001 and 17.00.0010: * No code changes from 17.00.0009. - Changes in 17.00.0009: * Fix the test suite for PostgreSQL 19, where standard_conforming_strings is always on. * Upgrade the GitHub Actions workflow: use prebuilt PostgreSQL binaries, parallel matrix builds and a separate release job. - Update to 17.00.0008: * https://odbc.postgresql.org/docs/release.html
Patchnames: openSUSE-Leap-16.0-packagehub-672
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: openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.aarch64 —
Vendor Fix
Unresolved product id: openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.ppc64le —
Vendor Fix
Unresolved product id: openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.s390x —
Vendor Fix
Unresolved product id: openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.x86_64 —
Vendor Fix
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 psqlODBC",
        "title": "Title of the patch"
      },
      {
        "category": "description",
        "text": "This update for psqlODBC fixes the following issues:\n\nChanges in psqlODBC:\n\nUpdate to 18.00.0005:\n\n  * https://odbc.postgresql.org/docs/release.html\n  * Fix heap memory corruption when an application binds more than\n    32767 parameters on a single statement. SQLBindParameter now\n    rejects parameter numbers outside 1..32767 with SQLSTATE 07009\n    (CVE-2026-109448, bsc#1285073).\n  * Fix the placeholder cast being truncated from parameter 1000\n    on, which failed with \u0027type \"timestam\" does not exist\u0027.\n  * Report the largest column size instead of SQL_NO_TOTAL (-4) as\n    COLUMN_SIZE for bytea in SQLGetTypeInfo, which broke bytea\n    parameters through MSDASQL.\n\n- Changes in 18.00.0004:\n\n  * Fix the result-conversions regression test on big-endian\n    systems.\n\n- Changes in 18.00.0003:\n\n  * Report SQLSTATE 22003 for out-of-range integer conversions\n    instead of silently returning the wrapped low bits.\n  * Fix statement level rollback (Protocol=7.4-2) discarding the\n    whole transaction on a syntax error.\n  * Do not wrap internal queries in a savepoint at\n    rollback-on-error level 0 (Protocol=7.4-0), which lost\n    transactions on servers without SAVEPOINT support.\n  * Redact the database password (ODBC PWD and libpq pqopt\n    password) in debug logs.\n  * Fix hang on COPY ... FROM STDIN / TO STDOUT: report it as\n    unsupported and keep the connection usable.\n  * Fix \u0027infinity\u0027/\u0027-infinity\u0027 dates being silently returned as\n    today\u0027s date.\n  * Document the connection string escaping rules.\n\n- Changes in 18.00.0002:\n\n  * Use a signed type for the error status.\n  * Redact sensitive connection parameters in the driver logs.\n  * Fix double free / heap corruption during SQLDisconnect\n    cleanup.\n  * Clear PGresults from per-query rollback.\n  * Validate UTF-16 surrogate pairs before combining them.\n  * Pass SQLSetDescRec field values correctly.\n  * Avoid reading before leading string literals.\n  * Detach freed application descriptors from statements.\n  * Reject invalid SQLPutData lengths.\n  * Reject overlong cursor names.\n  * Fix version reporting.\n  * Handle ARD bookmark allocation failure.\n  * Validate percent escapes before decoding connection string\n    values.\n  * Avoid reading past the end of conn_settings.\n  * Fix stack buffer overflow in getPrecisionPart().\n  * Fix SQLPrimaryKeys to exclude INCLUDE columns from the result.\n\n- Changes in 18.00.0000, 18.00.0001 and 17.00.0010:\n\n  * No code changes from 17.00.0009.\n\n- Changes in 17.00.0009:\n\n  * Fix the test suite for PostgreSQL 19, where\n    standard_conforming_strings is always on.\n  * Upgrade the GitHub Actions workflow: use prebuilt PostgreSQL\n    binaries, parallel matrix builds and a separate release job.\n\n- Update to 17.00.0008:\n  * https://odbc.postgresql.org/docs/release.html\n",
        "title": "Description of the patch"
      },
      {
        "category": "details",
        "text": "openSUSE-Leap-16.0-packagehub-672",
        "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/opensuse-su-2026_22122-1.json"
      },
      {
        "category": "self",
        "summary": "SUSE Bug 1285073",
        "url": "https://bugzilla.suse.com/1285073"
      },
      {
        "category": "self",
        "summary": "SUSE CVE CVE-2026-109448 page",
        "url": "https://www.suse.com/security/cve/CVE-2026-109448/"
      }
    ],
    "title": "Security update for psqlODBC",
    "tracking": {
      "current_release_date": "2026-10-19T17:25:39Z",
      "generator": {
        "date": "2026-10-16T20:40:51Z",
        "engine": {
          "name": "cve-database.git:bin/generate-csaf.pl",
          "version": "1"
        }
      },
      "id": "openSUSE-SU-2026:22122-1",
      "initial_release_date": "2026-10-16T20:40:51Z",
      "revision_history": [
        {
          "date": "2026-10-16T20:40:51Z",
          "number": "1",
          "summary": "Current version"
        },
        {
          "date": "2026-10-19T17:25:39Z",
          "number": "2",
          "summary": "unknown changes"
        }
      ],
      "status": "final",
      "version": "2"
    }
  },
  "product_tree": {
    "branches": [
      {
        "branches": [
          {
            "branches": [
              {
                "category": "product_version",
                "name": "psqlODBC-0:18.00.0005-bp160.1.1.aarch64",
                "product": {
                  "name": "psqlODBC-0:18.00.0005-bp160.1.1.aarch64",
                  "product_id": "psqlODBC-0:18.00.0005-bp160.1.1.aarch64",
                  "product_identification_helper": {
                    "purl": "pkg:rpm/suse/psqlODBC@18.00.0005-bp160.1.1?arch=aarch64\u0026upstream=psqlODBC-0:18.00.0005-bp160.1.1.src.rpm"
                  }
                }
              }
            ],
            "category": "architecture",
            "name": "aarch64"
          },
          {
            "branches": [
              {
                "category": "product_version",
                "name": "psqlODBC-0:18.00.0005-bp160.1.1.ppc64le",
                "product": {
                  "name": "psqlODBC-0:18.00.0005-bp160.1.1.ppc64le",
                  "product_id": "psqlODBC-0:18.00.0005-bp160.1.1.ppc64le",
                  "product_identification_helper": {
                    "purl": "pkg:rpm/suse/psqlODBC@18.00.0005-bp160.1.1?arch=ppc64le\u0026upstream=psqlODBC-0:18.00.0005-bp160.1.1.src.rpm"
                  }
                }
              }
            ],
            "category": "architecture",
            "name": "ppc64le"
          },
          {
            "branches": [
              {
                "category": "product_version",
                "name": "psqlODBC-0:18.00.0005-bp160.1.1.s390x",
                "product": {
                  "name": "psqlODBC-0:18.00.0005-bp160.1.1.s390x",
                  "product_id": "psqlODBC-0:18.00.0005-bp160.1.1.s390x",
                  "product_identification_helper": {
                    "purl": "pkg:rpm/suse/psqlODBC@18.00.0005-bp160.1.1?arch=s390x\u0026upstream=psqlODBC-0:18.00.0005-bp160.1.1.src.rpm"
                  }
                }
              }
            ],
            "category": "architecture",
            "name": "s390x"
          },
          {
            "branches": [
              {
                "category": "product_version",
                "name": "psqlODBC-0:18.00.0005-bp160.1.1.x86_64",
                "product": {
                  "name": "psqlODBC-0:18.00.0005-bp160.1.1.x86_64",
                  "product_id": "psqlODBC-0:18.00.0005-bp160.1.1.x86_64",
                  "product_identification_helper": {
                    "purl": "pkg:rpm/suse/psqlODBC@18.00.0005-bp160.1.1?arch=x86_64\u0026upstream=psqlODBC-0:18.00.0005-bp160.1.1.src.rpm"
                  }
                }
              }
            ],
            "category": "architecture",
            "name": "x86_64"
          },
          {
            "branches": [
              {
                "category": "product_name",
                "name": "openSUSE Leap 16.0",
                "product": {
                  "name": "openSUSE Leap 16.0",
                  "product_id": "openSUSE Leap 16.0"
                }
              }
            ],
            "category": "product_family",
            "name": "SUSE Linux Enterprise"
          }
        ],
        "category": "vendor",
        "name": "SUSE"
      }
    ],
    "relationships": [
      {
        "category": "default_component_of",
        "full_product_name": {
          "name": "psqlODBC-0:18.00.0005-bp160.1.1.aarch64 as component of openSUSE Leap 16.0",
          "product_id": "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.aarch64"
        },
        "product_reference": "psqlODBC-0:18.00.0005-bp160.1.1.aarch64",
        "relates_to_product_reference": "openSUSE Leap 16.0"
      },
      {
        "category": "default_component_of",
        "full_product_name": {
          "name": "psqlODBC-0:18.00.0005-bp160.1.1.ppc64le as component of openSUSE Leap 16.0",
          "product_id": "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.ppc64le"
        },
        "product_reference": "psqlODBC-0:18.00.0005-bp160.1.1.ppc64le",
        "relates_to_product_reference": "openSUSE Leap 16.0"
      },
      {
        "category": "default_component_of",
        "full_product_name": {
          "name": "psqlODBC-0:18.00.0005-bp160.1.1.s390x as component of openSUSE Leap 16.0",
          "product_id": "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.s390x"
        },
        "product_reference": "psqlODBC-0:18.00.0005-bp160.1.1.s390x",
        "relates_to_product_reference": "openSUSE Leap 16.0"
      },
      {
        "category": "default_component_of",
        "full_product_name": {
          "name": "psqlODBC-0:18.00.0005-bp160.1.1.x86_64 as component of openSUSE Leap 16.0",
          "product_id": "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.x86_64"
        },
        "product_reference": "psqlODBC-0:18.00.0005-bp160.1.1.x86_64",
        "relates_to_product_reference": "openSUSE Leap 16.0"
      }
    ]
  },
  "vulnerabilities": [
    {
      "cve": "CVE-2026-109448",
      "ids": [
        {
          "system_name": "SUSE CVE Page",
          "text": "https://www.suse.com/security/cve/CVE-2026-109448"
        }
      ],
      "notes": [
        {
          "category": "general",
          "text": "Integer wraparound in psqlODBC SQLBindParameter allows an application, or an attacker who controls how many parameters the application binds on one statement, to corrupt heap memory. psqlODBC stores the binding count in a signed 16-bit field. Binding parameter number 32768 wraps that count to -32768. Binding parameter 32769 then writes about 2.5 MB of zeros starting 1.25 MB before the binding array, which crashes the application or leaves it running on a corrupted heap. Applications that build parameter lists from untrusted input, such as an IN (?, ?, ...) list, are exposed. Versions before psqlODBC 18.00.0005 are affected.",
          "title": "CVE description"
        }
      ],
      "product_status": {
        "recommended": [
          "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.aarch64",
          "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.ppc64le",
          "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.s390x",
          "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.x86_64"
        ]
      },
      "references": [
        {
          "category": "external",
          "summary": "CVE-2026-109448",
          "url": "https://www.suse.com/security/cve/CVE-2026-109448"
        },
        {
          "category": "external",
          "summary": "SUSE Bug 1285073 for CVE-2026-109448",
          "url": "https://bugzilla.suse.com/1285073"
        }
      ],
      "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": [
            "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.aarch64",
            "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.ppc64le",
            "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.s390x",
            "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.x86_64"
          ]
        }
      ],
      "scores": [
        {
          "cvss_v3": {
            "baseScore": 5.9,
            "baseSeverity": "MEDIUM",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H",
            "version": "3.1"
          },
          "products": [
            "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.aarch64",
            "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.ppc64le",
            "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.s390x",
            "openSUSE Leap 16.0:psqlODBC-0:18.00.0005-bp160.1.1.x86_64"
          ]
        }
      ],
      "threats": [
        {
          "category": "impact",
          "date": "2026-10-16T20:40:51Z",
          "details": "moderate"
        }
      ],
      "title": "CVE-2026-109448"
    }
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

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.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    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.