Skip to content

Security: bundled PostgreSQL 18.4 / TimescaleDB 2.28.1 and the self-contained .NET 10.0.11 runtime carry published CVEs #3906

Closed

Description

@erikdarlingdata

A security review of 3.8.0 by a prospective user flagged two findings. Both are confirmed against the shipped artifacts.

Darling: the bundled PostgreSQL and TimescaleDB

Darling/tools/fetch-pg-runtime.ps1 pins EDB PostgreSQL 18.4 (2026-05-14) and TimescaleDB 2.28.1. The 3.8.0 pg-runtime.zip reports pg_ctl 18.4 and timescaledb-2.28.1.dll.

Existing installs do pick up a new runtime when they upgrade. DarlingStoreUpgrade.TryAdvanceRuntimeAsync swaps the extracted runtime whenever the shipped pg-runtime.zip hash differs from pg-runtime.stamp. A same-major swap runs no pg_upgrade; it runs ALTER EXTENSION timescaledb UPDATE.

There is one gap. A host that has no stamp is adopted as current when its PostgreSQL major and TimescaleDB version match the package. A minor-only bump such as 18.4 → 18.6 therefore never reaches that host.

Lite and Darling Viewer: Microsoft.DiaSymReader.Native from the self-contained .NET runtime

No project references Microsoft.DiaSymReader.Native; the file comes from the .NET runtime pack. Lite (zip, Setup and Portable) and the Viewer's Setup and Portable builds are self-contained. In 3.8.0 they carry runtime pack 10.0.11 and Microsoft.DiaSymReader.Native.amd64.dll 14.42.34436.0.

That DLL is affected by CVE-2026-69439, CVE-2026-71328 and CVE-2026-69522: out-of-bounds writes while parsing PDB files, CVSS 8.8, user interaction required. All three are fixed in .NET 10.0.12 (2026-09-08).

Root cause. global.json pins SDK 10.0.302 with rollForward: latestPatch, which never leaves the 3xx feature band. Microsoft stopped servicing that band at 10.0.303, which carries runtime 10.0.11. The 10.0.12 runtime shipped only in SDKs 10.0.401 and 10.0.112.

Dependabot manages the NuGet packages but not the SDK. So after 10.0.12, every self-contained build kept packing the 10.0.11 runtime, even though the Microsoft.Extensions.* packages moved to 10.0.12.

The Darling service and the Darling zip's viewer\ folder are framework-dependent. They run on the machine's installed .NET 10 runtime, which the operator patches (10.0.12 or later).

Plan

Activity

  1. added
    bugSomething isn't working
    dependenciesPull requests that update a dependency file
    on Sep 22, 2026
  2. erikdarlingdata commented on Sep 22, 2026

    @erikdarlingdata
    OwnerAuthor

    Fixed in #3912 (merged to dev as 676e047): bundled PostgreSQL 18.6, SDK 10.0.401 / runtime 10.0.12 for the self-contained builds, full-version adoption for unstamped hosts, Dependabot dotnet-sdk, nightly same-major upgrade coverage, and a weekly runtime-currency check. Ships in the next release. The TimescaleDB bump continues in #3908.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdependenciesPull requests that update a dependency file

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions