Bug#1109147: bookworm-pu: package libsoup3/3.2.3-0+deb12u1

Simon McVittie smcv at debian.org
Sat Jul 12 15:27:32 BST 2025


Package: release.debian.org
Severity: normal
Tags: bookworm
X-Debbugs-Cc: libsoup3 at packages.debian.org, team at security.debian.org, spwhitton at spwhitton.name, andreas at fatal.se
Control: affects -1 + src:libsoup3
User: release.debian.org at packages.debian.org
Usertags: pu

[ Reason ]

1. Fix a gnome-calculator regression where it hangs during startup if
   unable to download currency conversion rates for an optional feature
   (there are many duplicate bug reports for this)

2. Fix all no-dsa CVEs that were already fixed in 3.6.5 upstream and in
   trixie, which are a superset of those that were fixed in the libsoup2.4
   in bullseye LTS

Related to (2.), I also cherry-picked an upstream documentation change 
to clarify that SoupServer is not intended to be exposed on untrusted 
networks (added to trixie in 3.6.0-4, and debian-security-support in 
#1109118).

I also took the opportunity to backport the addition of a missing 
build-dependency and autopkgtest dependency on ca-certificates 
(#1064744, #1054962), which is formally RC, but in practice probably 
did not affect bookworm because older buildd chroots and testbeds had 
ca-certificates preinstalled.

This *does not* fix the CVEs that are unfixed in 3.6.5 upstream; I think 
those should be handled in a follow-up update, after their fixes 
(#1109142, maybe more later) have reached trixie.

[ Impact ]

1. Fixes a high-visibility gnome-calculator regression that has, so far,
   been reported in 10 duplicate bug reports.

2. Fixes several denial of service issues which can crash applications
   that use libsoup3; it is possible that there are also routes to
   achieve arbitrary code execution via heap corruption.

[ Tests ]

Manual tests:

- ran epiphany-browser (GNOME Web) and used it to browse debian.org;
- deleted ~/.cache/gnome-calculator and ran gnome-calculator, causing it
  to try to download currency conversion rate data. In bookworm this
  is unsuccessful, at least from my home network (there is a HTTP/2
  internal error reported on stderr), but at least the rest of its
  functionality works. I have not attempted to debug this further,
  it's outside my knowledge.

Automated tests: build-time tests (sbuild+unshare in a qemu VM on my 
laptop) and autopkgtest (in a qemu VM on my laptop) were successful. As 
with the libsoup3 update I've proposed for trixie, I expect that they 
will need some retries on official Debian infrastructure because of 
pre-existing instability in the test suite.

Some of the CVE fixes include new automated test coverage, which passed, 
and I cherry-picked the new test coverage for CVE-2024-52531 (which was 
included in 3.6.x, but not backported to 3.2.x by upstream). I have not 
attempted to test the CVE fixes manually.

Source and amd64/i386/all .deb are available from 
https://people.debian.org/~smcv/temp/2025/libsoup3-mr4/v9/ for further 
testing.

[ Risks ]

libsoup3 is a key package in our default desktop environment.

As with the trixie update, I am not an expert on libsoup, so I have done 
my best but I might have made mistakes.

The patches to the production code in this update were all 
straightforward git cherry-picks from upstream releases, with no conflict 
resolution required. For the changes that were already in the libsoup2.4 
update in bullseye LTS, I cross-checked vs. the libsoup2.4 update and
confirmed that they all match up (modulo backporting changes that were 
required in bullseye).

For the changes that were included in 3.2.3 upstream, I started by 
applying the changes as patches and applying the patch series with gbp 
pq, then imported the 3.2.3 upstream release, applied the resulting 
reduced patch series and compared the resulting patches-applied trees. 
The only differences were release-process stuff (NEWS and the version 
number in meson.build), so I chose to use the upstream 3.2.3 release, to 
make it more obvious what we are shipping.

Some of the upstream changes had known regressions, so I have tried to 
identify and include the relevant regression fixes. There might be other 
regressions, or I might have failed to include a regression fix.

As with trixie, unfortunately the libsoup test suite is known to be 
flaky in several ways, so it might require some retries to herd it 
through the official Debian infrastructure. See #1109142 for more 
details.

[ Checklist ]

  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]

In case a respin is needed: the version proposed here is commit 
5b8cd776, which is gnome-team/libsoup3!4 v9.

In the debdiff, I excluded the content of d/patches/*.patch to avoid 
redundancy. All changes made by the patches are included in the debdiff 
as changes to the upstream source (the debdiff is between 
"patches-applied" trees).

Please see 
https://salsa.debian.org/gnome-team/libsoup3/-/merge_requests/4 if you 
would prefer to examine the patches individually, with their upstream 
provenance and other DEP-3 metadata.

I've cc'd Debian LTS members who recently worked on libsoup2.4 (an older 
version of this same upstream codebase) in the hope that they might be 
able to take a look at this. My recommendation would be that we should 
get these changes into bookworm-pu before backporting them into LTS 
suites, and into libsoup3 before libsoup2.4.

    smcv



More information about the pkg-gnome-maintainers mailing list