Skip to content

fix(network-manager): CVE-2025-9615 - certificate permission validation#25

Open
hudeng-go wants to merge 1 commit into
masterfrom
fix-cve-2025-9615
Open

fix(network-manager): CVE-2025-9615 - certificate permission validation#25
hudeng-go wants to merge 1 commit into
masterfrom
fix-cve-2025-9615

Conversation

@hudeng-go

Copy link
Copy Markdown
Contributor

CVE Fix: CVE-2025-9615

Summary

Backport upstream fix for CVE-2025-9615: avoid that non-admin users can use other users' certificates for network authentication.

Problem

NetworkManager allows non-root users to configure the system's network. The daemon runs with root privileges and can access files owned by users different from the one who added the connection. This allows a non-admin user to create a connection that references another user's certificate files for 802.1X or VPN authentication.

Fix (7 patches)

  1. 01-polkit: Remove modify_system build option that bypassed permission checks
  2. 02-std-utils: Add permission helpers (set effective user, read file as user)
  3. 03-permission-helpers: Add connection ownership permission helpers
  4. 04-cert-flag: Add property flag for certificate and key files
  5. 05-daemon-helper: Add read-file-as-user command and libnm-helper
  6. 06-device-supplicant: Read private files in device stage2, pass as blobs to supplicant
  7. 07-vpn: Add VPN safe private file access and certificate copy utility

Strategy

Targeted backport (patch series) - much cleaner than the previous 2247-line monolithic patch.

Verification

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

CVE-2025-9615: avoid that non-admin user using other users' certificates.
A flaw was found in NetworkManager. The NetworkManager package allows
access to files that may belong to other users. NetworkManager allows
non-root users to configure the system's network. The daemon runs with
root privileges and can access files owned by users different from the
one who added the connection.

This patch series addresses the issue:
1. Remove modify_system build option (prevents non-admin from creating
   system-wide connections that bypass permission checks)
2. Add permission helpers in libnm-std-aux
3. Add connection permission helpers in core and libnm-core
4. Add property flag for certificate and key files
5. Add daemon-helper read-file-as-user and libnm-helper
6. Read private certificate files in device stage2 and pass as blobs
   to supplicant
7. Add VPN safe private file access and certificate copy utility

Upstream-Reference: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2324

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

TAG Bot

TAG: 1.44.2-7deepin10
EXISTED: no
DISTRIBUTION: unstable

@hudeng-go

Copy link
Copy Markdown
Contributor Author

/retest

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant