mirror of
https://github.com/debauchee/barrier.git
synced 2026-05-15 14:16:02 -06:00
[PR #1346] [MERGED] Implement client identity verification [SECURITY VULNERABILITIES CVE-2021-42072, CVE-2021-42073] #1785
Labels
No labels
HiDPI
bounty
bsd/freebsd
bsd/openbsd
bug
bug
build-infra
cantfix
critical
doc
duplicate
enhancement
fix-available
from git
from release
good first issue
help wanted
installer/package
invalid
linux
macOS
meta
needs testing
pull-request
query
question
regression
regression
v2.4.0
windows
wontfix
work-in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/barrier#1785
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?
📋 Pull Request Information
Original PR: https://github.com/debauchee/barrier/pull/1346
Author: @p12tic
Created: 11/1/2021
Status: ✅ Merged
Merged: 11/1/2021
Merged by: @p12tic
Base:
master← Head:client-identity-verification📝 Commits (10+)
c0ce893lib/net: Load client SSL certificates when connecting92ba6f6gui: Move SSL fingerprint labels out of server frame4d73ed9lib/net: Present client certificate when connecting to servered32e2egui: Expand checkboxes in settings dialog through both grid columns8bc280egui: Add configuration for requiring client certificates133e447lib/net: Don't hardcode fingerprint DB path in verify_cert_fingerprint()82b8fa9lib/net: Improve name of showCertificate() to reflect what it does5c7d719lib/net: Use enum for connection security level instead of boolean57769cflib/net: Pass connection security level to within socket classese79bdf3gui: Fix fingerprint database being not populated due to missing dirs📊 Changes
31 files changed (+680 additions, -255 deletions)
View changed files
➕
doc/newsfragments/client-certificate-checking.bugfix(+7 -0)➕
doc/newsfragments/client-send-certificate.feature(+1 -0)📝
src/gui/CMakeLists.txt(+2 -0)📝
src/gui/src/AppConfig.cpp(+7 -0)📝
src/gui/src/AppConfig.h(+4 -0)➕
src/gui/src/FingerprintAcceptDialog.cpp(+65 -0)➕
src/gui/src/FingerprintAcceptDialog.h(+45 -0)➕
src/gui/src/FingerprintAcceptDialog.ui(+174 -0)📝
src/gui/src/MainWindow.cpp(+33 -31)📝
src/gui/src/MainWindow.h(+3 -7)📝
src/gui/src/MainWindowBase.ui(+101 -101)📝
src/gui/src/SettingsDialog.cpp(+2 -0)📝
src/gui/src/SettingsDialogBase.ui(+42 -35)📝
src/gui/src/SslCertificate.cpp(+5 -0)📝
src/gui/src/ZeroconfService.cpp(+1 -1)📝
src/lib/barrier/ArgParser.cpp(+3 -1)➕
src/lib/barrier/BarrierType.h(+26 -0)📝
src/lib/barrier/ServerApp.cpp(+13 -3)📝
src/lib/barrier/ServerArgs.h(+1 -0)📝
src/lib/client/Client.cpp(+8 -3)...and 11 more files
📄 Description
This PR implements client identity verification. Essentially server gets the same process of accepting and rejecting clients like the clients can accept or reject the server. This is important because even though the client can't move the mouse on the server, it can still receive input and potentially set the clipboard.
This PR fixes the following security vulnerabilities:
The issues have been reported by Matthias Gerstner mgerstner@suse.de @mgerstner. Matthias also provided insights into how best to fix the issues, precise reproduction steps and any used tools and made the maintainer's life as pleasant as possible. Thank you!
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.