mirror of
https://github.com/mumble-voip/mumble.git
synced 2026-03-03 00:46:56 -05:00
Better certificate protection - 600 #2926
Labels
No labels
GlobalShortcuts
Hacktoberfest
accessibility
acl
asio
audio
bonjour
bsd
bug
build
certificate
ci
client
code
documentation
external-bug
feature-request
gRPC
github
good first issue
help wanted
help-needed
ice
installer
linux
macOS
needs-ckeck-with-latest-version
needs-more-input
overlay
positional audio
priority/P0 - Blocker
priority/P1 - Critical
priority/P2 - Important
priority/P3 - Somewhat important
priority/P4 - Low
public-server-registration
qt
recording
release-management
server
stale-no-response
stale-support
support
task
test
theme
translation
triage
ui
windows
wontfix
x64
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/mumble-mumble-voip#2926
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Golffies on GitHub (Dec 7, 2024).
Hello,
on macOS, it seems to me that the certificate and private key used by Mumble are saved in a JSON file, located here:
/Users/<whoever>/Library/Preferences/Mumble/Mumble/mumble_settings.jsonHowever, this file and its backup copy located in the same folder are created with 644 rights, and their content can therefore be read by any user:
Since the private key is present, it would be better for Mumble to apply more restricted rights to them, such as 600.
This becomes a more than academic concern when you consider importing into Mumble a personal certificate signed by an external certification authority and also used to sign and encrypt emails.
Obviously, on macOS, the best practice is to access the certificate and its private key from the Keychain, and not to export it from the Keychain to create a copy to be imported into Mumble. But restricting access rights to the JSON file is already a step towards greater security.
Note that on macOS, when an application is authorised to use the certificate and private key in the Keychain, the user is not asked to enter their session password every time. In the Keychain, the application can be declared as always having the right to access them.
Environment
macOS 14.6.1
Mumble 1.5.634
@Kissaki commented on GitHub (Dec 7, 2024):
This is about the Mumble client, not the Mumble website, right?
@Hartmnt commented on GitHub (Dec 8, 2024):
Interesting. On Linux the same permissions are used, so this could also benefit from a change here.
@theboywholived commented on GitHub (Dec 12, 2024):
Can I work on this issue - I'm new to OSS and this repo.
@Krzmbrzl commented on GitHub (Dec 12, 2024):
Absolutely. The relevant part of the code is in https://github.com/mumble-voip/mumble/blob/master/src/mumble/Settings.cpp#L143
@theboywholived commented on GitHub (Dec 14, 2024):
Sure - I will pick this up? Could you point me to anyway I can replicate this and test this fix once I have written the code?
@Krzmbrzl commented on GitHub (Dec 14, 2024):
Just run Mumble once and inspect the file permissions of the created settings JSON file (e.g. via
ls -al).