Bug 2370639

Summary: SEGV due to conflicting hmac_md5() functions
Product: [Fedora] Fedora EPEL Reporter: Steve Atkins <steve-redhat>
Component: pam_radiusAssignee: Iker Pedrosa <ipedrosa>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: epel9CC: ipedrosa
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:

Description Steve Atkins 2025-06-06 12:19:53 UTC
Description of problem:

Upgrading pam_radius.so from 2.0.0-3 to 2.0.0-4 causes application using
it to SEGV, due to collision with hmac_md5 function.

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

2.0.0-4

How reproducible:


Steps to Reproduce:
1. Have installed application, running correctly, that contains the function
hmac_md5 (from libesmtp):

  void hmac_md5 (const void *challenge, size_t challenge_len,
                 const void *secret, size_t secret_len,
                 unsigned char digest[16]);

2. Upgrade pam_radius.so to 2.0.0-4

3. Use PAM authentication with a facility configured to use pam_radius.so

Actual results:

SEGV.

Stack trace shows that /usr/lib64/security/pam_radius_auth.so has called the hmac_md5()
function within the application, not the one provided by pam-radius-message-auth.patch,
which then ends up in MD5_Update from libcrypto.so.3 and finally ends up SEGVing in libc.

Expected results:

Not SEGV.

Additional info:

Patching the application to rename the hmac_md5() function to something else avoids the issue.