Bug 2324820

Summary: kdeconnectd dumps core due to QCA unconditionally using EVP_sha1()
Product: [Fedora] Fedora EPEL Reporter: Taketo Kabe <rkabe>
Component: qcaAssignee: Rex Dieter <rdieter>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: epel9CC: aurelien, kde-sig, rdieter, sven
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
patch to use EVP_sha256() instead of EVP_sha1(), if available none

Description Taketo Kabe 2024-11-09 02:28:50 UTC
Created attachment 2056595 [details]
patch to use EVP_sha256() instead of EVP_sha1(), if available

Description of problem:

kdeconnectd-23.08.5 uses KDE QCA to generate a self-signed certificate.
But it could not generate a proper X509 certificate by using EVP_sha1(),
because RHEL 9 family disables SHA-1 system-wide.
This causes X509 certificate lacking a signature, 
could not write a proper PEM to ~/.config/kdeconnect/certificate.pem,
and dumps core.


Version-Release number of selected component (if applicable):

Linux/KDE Plasma: kernel-5.14.0-427.16.1.el9_4 
KDE Plasma Version: plasma-workspace-common-5.27.11-1
KDE Frameworks Version: kf5-filesystem-5.115.0
Qt Version: qt5-qtbase-5.15.9
kdeconnectd Version: 23.08.5
qca Version: 2.3.6

How reproducible:
always

Steps to Reproduce:
1.  pkill kdeconnectd
2. QT_LOGGING_RULES='kdeconnect.core.debug=true' /usr/libexec/kdeconnectd

Actual results:
$ QT_LOGGING_RULES="kdeconnect.core.debug=true" /usr/libexec/kdeconnectd
kdeconnect.core: Daemon starting
kdeconnect.core: Certificate from "/home/kabe/.config/kdeconnect/certificate.pem" is not valid
kdeconnect.core: Generating certificate
kdeconnect.core: My id: "_22bbbb44_27a2_4e53_a567_084181656731_"
kdeconnect.daemon: "KDE Connect" : "Could not store certificate file: /home/kabe/.config/kdeconnect/certificate.pem"
kdeconnect.core: LanLinkProvider started
kdeconnect.core: Daemon started
kdeconnect.core: Broadcasting identity packet
Segmentation fault (core dumped)


Expected results:
kdeconnectd continues to run

Additional info:
The attached patch seems to fix this.

Upstream refused this patch:
https://bugs.kde.org/show_bug.cgi?id=495969