Skip to content

libsoup_2_4: mark vulnerable #427813

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jul 25, 2025
Merged

Conversation

LordGrimmauld
Copy link
Contributor

libsoup 2 is EOL, with many known unfixed CVEs.
The last release happened 2023-10-11,
with few security backports since and no stable release.

Vulnerabilities likely include (incomplete list):

These vulnerabilities were fixed in libsoup 3,
with the vulnerable code present in libsoup 2 versions.

Part of #360897

I confirmed the graphical ISO installer does no longer depend on libsoup_2_4, this should not cause issues.

gvfs used old libsoup for google support. Seeing as our test suite and various other popular things still use gvfs in places, i split google support into an additional option (default false) to remove the libsoup_2_4 dependency.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@LordGrimmauld LordGrimmauld added 6.topic: GNOME GNOME desktop environment and its underlying platform 1.severity: security Issues which raise a security issue, or PRs that fix one labels Jul 23, 2025
@LordGrimmauld LordGrimmauld requested a review from jtojnar July 23, 2025 17:30
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. and removed 6.topic: GNOME GNOME desktop environment and its underlying platform labels Jul 23, 2025
@nix-owners nix-owners bot requested review from hedning, dasj19 and bobby285271 July 23, 2025 17:36
@SuperSandro2000
Copy link
Member

SuperSandro2000 commented Jul 23, 2025

webkitgtk_4_0 also depends on libsoup_2_4. Can we remove that dependency? Otherwise gnucash would be no longer usable which would be a shame.

Also I think we need to touch

webkitgtk_4_0 = linux;

@LordGrimmauld
Copy link
Contributor Author

The whole thing of the webkitgtk_4_0 is to depend on libsoup_2_4, no we can not get rid of that dep. Things should move to a higher ABI of webkitgtk (like webkitgtk_4_1, or ideally webkitgtk_6_0).

@LordGrimmauld
Copy link
Contributor Author

fair enough about the release thing. The alternative to dropping is building webkitgtk_6_0 instead, but since noone complained about 6_0 not being there, a drop is probably fine.

@bobby285271
Copy link
Member

bobby285271 commented Jul 23, 2025

To fix nixosTests.cinnamon and nixosTests.mate, I will take care of timezonemap and caja-extensions later today.

List of packages affected I think:
{
  x86_64-linux = [
    "airwin2rack"
    "alexandria"
    "alfis"
    "am2rlauncher"
    "ansel"
    "ario"
    "balsa"
    "bambu-studio"
    "bambu-studio.debug"
    "bitcomet"
    "bookworm"
    "cargo-tauri_1"
    "catppuccinifier-gui"
    "chickenPackages_5.chickenEggs.webview"
    "chow-kick"
    "chow-tape-model"
    "cinnamon-common"
    "cinnamon-gsettings-overrides"
    "cinnamon-screensaver"
    "cinny-desktop"
    "citrix_workspace"
    "citrix_workspace_23_11_0"
    "citrix_workspace_24_02_0"
    "citrix_workspace_24_05_0"
    "citrix_workspace_24_08_0"
    "citrix_workspace_24_11_0"
    "citrix_workspace_25_03_0"
    "cog"
    "darktable"
    "desktop-postflop"
    "en-croissant"
    "fondo"
    "gamehub"
    "geeqie"
    "glom"
    "glom.dev"
    "glom.devdoc"
    "glom.doc"
    "glom.lib"
    "gnome-inform7"
    "gnome-notes"
    "gnome-recipes"
    "gnucash"
    "gpx-viewer"
    "gramps"
    "gramps.dist"
    "gssdp"
    "gssdp.dev"
    "gssdp.devdoc"
    "gthumb"
    "gui-for-clash"
    "gui-for-singbox"
    "gupnp"
    "gupnp.dev"
    "gupnp.devdoc"
    "heroic"
    "holochain-launcher"
    "hqplayerd"
    "insulator2"
    "komorebi"
    "libchamplain"
    "libchamplain.dev"
    "libchamplain.devdoc"
    "libepc"
    "libepc.dev"
    "libepc.devdoc"
    "libgdata"
    "libgdata.dev"
    "libgdata.installedTests"
    "librest"
    "librest.dev"
    "librest.devdoc"
    "libsoup_2_4"
    "libsoup_2_4.debug"
    "libsoup_2_4.dev"
    "lifeograph"
    "mate.caja-extensions"
    "mate.caja-with-extensions"
    "meteo"
    "mouse-actions-gui"
    "nasc"
    "notes-up"
    "oidc-agent"
    "orca-slicer"
    "orca-slicer.debug"
    "osm-gps-map"
    "osm-gps-map.dev"
    "osm-gps-map.doc"
    "photoprism"
    "pot"
    "python312Packages.gnucash"
    "pytrainer"
    "pytrainer.dist"
    "restic-browser"
    "rquickshare-legacy"
    "rymcast"
    "satisfactorymodmanager"
    "shotwell"
    "skytemple"
    "skytemple.dist"
    "snippetexpandergui"
    "sonobus"
    "sparkle"
    "spice-up"
    "squirreldisk"
    "surf"
    "surf-display"
    "themechanger"
    "timezonemap"
    "tiny-rdm"
    "tonelib-zoom"
    "trillian-im"
    "tunefish"
    "uhttpmock"
    "uhttpmock.dev"
    "uhttpmock.devdoc"
    "ulauncher"
    "ulauncher.dist"
    "wails"
    "webkit2-sharp"
    "webkitgtk_4_0"
    "webkitgtk_4_0.debug"
    "webkitgtk_4_0.dev"
    "webkitgtk_4_0.devdoc"
    "xplorer"
  ];
}

@LordGrimmauld
Copy link
Contributor Author

it seems our caja-extensions is already at 1.28.0, which includes that patch. I guess this change was missed in the update (39efd9d).

Good catch about both of those two, personally i am not sure how to best go through that list and make sure nothing actually important breaks beyond looking at the packages, checking for updates/patches, and migrating them away. Feel free to push to my branch or make an additional PR, both is fine to me.

@LordGrimmauld
Copy link
Contributor Author

Yes, i just confirmed:
Current caja-extensions disables gupnp support: caja-extensions> configure: upnp sendto plugin disabled: https://hydra.nixos.org/build/303075250/nixlog/1

The diff for fixing this is trivial, i'll just push that to here.

@nix-owners nix-owners bot requested a review from romildo July 24, 2025 08:17
@nixpkgs-ci nixpkgs-ci bot added the 6.topic: mate The MATE Desktop Environment label Jul 24, 2025
@LordGrimmauld
Copy link
Contributor Author

That was the last user of gupnp, so the old (1.4) version can now be dropped. Should that happen in here?

@SuperSandro2000
Copy link
Member

It is probably a good idea to do it in another PR as we probably want to rename gupnp_1_6 to just gupnp and there are maybe some other clean ups we could do.

@SuperSandro2000
Copy link
Member

regarding gnucash I opened #428027 but still need to test it properly

@nixpkgs-ci nixpkgs-ci bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Jul 24, 2025
This change was proposed upstream for the default build [1],
but deferred to gnome 49. However, looking at the
pile of CVEs in old libsoup, this is irresponsible.

[1] https://gitlab.gnome.org/GNOME/gvfs/-/merge_requests/266
@nixpkgs-ci nixpkgs-ci bot removed 2.status: merge conflict This PR has merge conflicts with the target branch 6.topic: mate The MATE Desktop Environment labels Jul 24, 2025
@jtojnar
Copy link
Member

jtojnar commented Jul 24, 2025

👍 for disabling gdrive support in gvfs

@LordGrimmauld
Copy link
Contributor Author

What is the blocker on this? More of the remaining relevant things have been migrated, and the security issues don't go away by just ignoring them.

@philiptaron
Copy link
Contributor

What is the blocker on this? More of the remaining relevant things have been migrated, and the security issues don't go away by just ignoring them.

I think what you're really asking is this:

Hey folks, this is an important security PR to resolve people unknowingly using vulnerable software. I'd really appreciate reviewing and merging it with some alacrity. Thanks.

I'll take a look.

@LordGrimmauld
Copy link
Contributor Author

Thanks, and fair enough. Though real blockers even to a security PR could exist, particularly if channel blockers have unmitigated dependencies on this. E.g. the mate and cinnamon tests would have qualified, and i am not super sure how to find those, short of trying to replicate and build all channel blockers locally. And i don't know how i would even do that. But, yes, phrasing could have been better...

@philiptaron
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 427813
Commit: 881c2decb7a4b4a7964330f353f975811507cf1c


x86_64-linux

⏩ 5 packages marked as broken and skipped:
  • chatty
  • gnome-recipes
  • libgdata
  • libgdata.dev
  • libgdata.installedTests
✅ 102 packages built:
  • adapta-gtk-theme
  • almanah
  • astal.mpris
  • ayatana-indicator-datetime
  • bubblemail
  • bubblemail.dist
  • budgie-control-center
  • budgie-control-center.debug
  • calls
  • calls.devdoc
  • cheese
  • cheese.devdoc
  • cheese.man
  • cinnamon-common
  • cinnamon-gsettings-overrides
  • cinnamon-screensaver
  • clementine
  • endeavour
  • evolution
  • evolution-data-server
  • evolution-data-server-gtk4
  • evolution-data-server-gtk4.dev
  • evolution-data-server.dev
  • evolution-ews
  • evolutionWithPlugins
  • folks
  • folks.dev
  • folks.devdoc
  • geary
  • gitg
  • gnome-applets
  • gnome-browser-connector
  • gnome-calendar
  • gnome-contacts
  • gnome-control-center
  • gnome-control-center.debug
  • gnome-flashback
  • gnome-music
  • gnome-notes
  • gnome-online-accounts
  • gnome-online-accounts-gtk
  • gnome-online-accounts.debug
  • gnome-online-accounts.dev
  • gnome-online-accounts.devdoc
  • gnome-online-accounts.man
  • gnome-panel
  • gnome-panel-with-modules
  • gnome-panel.dev
  • gnome-panel.man
  • gnome-photos
  • gnome-photos.installedTests
  • gnome-session
  • gnome-session.debug
  • gnome-session.sessions
  • gnome-shell
  • gnome-shell.debug
  • gnome-shell.devdoc
  • gnome-tweaks
  • gnome.gvfs
  • gnome.gvfs.debug
  • gnome.nixos-gsettings-overrides
  • gnomeExtensions.easyScreenCast
  • gnomeExtensions.gsconnect
  • gnomeExtensions.gsconnect.installedTests
  • grilo-plugins
  • gvfs
  • gvfs.debug
  • hyprpanel
  • libmsgraph
  • libmsgraph.dev
  • libmsgraph.devdoc
  • marble-shell-theme
  • matrix-gtk-theme
  • mojave-gtk-theme
  • nemo
  • nemo-fileroller
  • nemo-preview
  • nemo-python
  • nemo-seahorse
  • nemo-with-extensions
  • nemo.dev
  • ns-usbloader
  • pantheon.elementary-calendar
  • pantheon.elementary-greeter
  • pantheon.elementary-mail
  • pantheon.elementary-session-settings
  • pantheon.elementary-tasks
  • pantheon.switchboard-plug-onlineaccounts
  • pantheon.switchboard-with-plugs
  • pantheon.wingpanel-applications-menu
  • pantheon.wingpanel-indicator-datetime
  • pantheon.wingpanel-with-indicators
  • phosh
  • phosh-mobile-settings
  • planify
  • plasticity
  • swaynotificationcenter
  • themechanger
  • tokyonight-gtk-theme
  • totem
  • valent
  • vimix-gtk-themes

@philiptaron
Copy link
Contributor

@philiptaron philiptaron merged commit 3c6b519 into NixOS:master Jul 25, 2025
25 of 27 checks passed
@LordGrimmauld
Copy link
Contributor Author

LordGrimmauld commented Jul 26, 2025

Should this get a backport? #428043 should get a backport first then, i guess. Not sure what the usual procedure is here.

@SuperSandro2000
Copy link
Member

Also the gnucash PR and probably some more.

If we only could build things on Hydra despite having know vulnerabilities than this would be a no brainer.

@chrisheib
Copy link
Contributor

I got unexpectedly hit by this today on nixos unstable on rebuilding the config (no flakes, no home manager):
error: Package ‘libsoup-2.74.3’ in /nix/store/n8dygvqyyysa9ymvz4fc08d0l3ks7nk6-nixos/nixos/pkgs/development/libraries/libsoup/default.nix:134 is marked as insecure, refusing to evaluate.

I don't include any of the above mentioned packages directly, so I guess its a dependency of something. Is there an easy way to find out which of my included packages depends on it?

@timschumi
Copy link
Member

I got unexpectedly hit by this today on nixos unstable on rebuilding the config (no flakes, no home manager): error: Package ‘libsoup-2.74.3’ in /nix/store/n8dygvqyyysa9ymvz4fc08d0l3ks7nk6-nixos/nixos/pkgs/development/libraries/libsoup/default.nix:134 is marked as insecure, refusing to evaluate.

I don't include any of the above mentioned packages directly, so I guess its a dependency of something. Is there an easy way to find out which of my included packages depends on it?

Probably not a discussion to be had in this issue (at least for prolonged amounts of time), but passing --show-trace to your build command should give you a chain of "while evaluating derivation". For example, for me it looks like the following:

       … while evaluating derivation 'home-manager-path'
         whose name attribute is located at /nix/store/drmc93qxnzzk5cp3b03ppkk95zw0fanb-source/pkgs/stdenv/generic/make-derivation.nix:482:13

        [...]

       … while evaluating derivation 'orca-slicer-v2.3.0'
         whose name attribute is located at /nix/store/drmc93qxnzzk5cp3b03ppkk95zw0fanb-source/pkgs/stdenv/generic/make-derivation.nix:482:13

        [...]

       … while evaluating derivation 'webkitgtk-2.48.3+abi=4.0'
         whose name attribute is located at /nix/store/drmc93qxnzzk5cp3b03ppkk95zw0fanb-source/pkgs/stdenv/generic/make-derivation.nix:482:13

        [...]

       error: Package ‘libsoup-2.74.3’ in /nix/store/drmc93qxnzzk5cp3b03ppkk95zw0fanb-source/pkgs/development/libraries/libsoup/default.nix:134 is marked as insecure, refusing to evaluate.

@SuperSandro2000
Copy link
Member

fyi @zhaofengli @ovlach @pinpox @liberodark

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.severity: security Issues which raise a security issue, or PRs that fix one 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants