View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0008482 | Rocky-Linux-8 | krb5 | public | 2024-12-06 01:59 | 2024-12-06 06:28 |
Reporter | chris hargreaves | Assigned To | Louis Abel | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | assigned | Resolution | reopened | ||
Summary | 0008482: applications using vanilla openssl shared libraries cant access user information from NIS | ||||
Description | patches applied to krb5 and openssl cause applications using their own vanilla openssl shared library to error when looking user information from NIS /lib64/libk5crypto.so.3: error: symbol lookup error: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b (fatal) this makes it difficult to use applications providing their own shared library openssl implementation on a NIS enabled rocky8 host. workarounds are to LD_LIBRARY_PATH to a vanilla krb5 installation or to LD_PRELOAD the OS libcrypto.so other than that the only fix seems to be to throw NIS in the dumpster. This is similar this issue reported here - but this happens with such basic user lookup functions that it is breaking many existing applications. https://bugzilla.redhat.com/show_bug.cgi?id=1829790 | ||||
Steps To Reproduce | on a NIS enabled system... $ cat /etc/nsswitch.conf | grep passwd passwd: compat build vanilla openssl build vanilla openssh against a shared libcrypto library (with RPATH). try to use ssh.. No user exists for uid 13276 openssh directly depends on libcrypto from the openssl installation but the userid lookup loads nss, which since we use NIS, loads nsl, then tirpc, which depends on krb5crypto which then hits a conflict with our vanilla openssl library. | ||||
Additional Information | this can be more easily be reproduced with simple commands like... $ LD_LIBRARY_PATH=/path/to/openssl-1.1.1w/lib/ id $( whoami ) id: ‘chargreaves’: no such user adding LD_DEBUG=libs or similar will expose /lib64/libk5crypto.so.3: error: symbol lookup error: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b (fatal) | ||||
Tags | No tags attached. | ||||
Thank you for the report. You appear to be reporting a bug on an issue pertaining to your application and custom compiled openssl and openssh libraries, and its interactions with your system. Unfortunately in this case, we cannot assist nor debug your issue because you are compiling custom libraries and software of packages we already ship. We can only support the packages that we build and ship to our users. My recommendation is to use the distribution provided packages and find a way to have your application use the system libraries. |
|
I am not reporting a bug with any custom application. This issue is debugged. It is caused by patches applied the the krb5/openssl libraries on the operating system. Users should be able to use their own openssl libraries with their applications on an Enterprise Linux without losing the ability to use basic glibc calls to lookup user information. There are lots of workarounds. But its fair to expect that your existing RHEL 7 compatible application that provided additional library support runs under rockylinux8. You are REQUIRED need to patch to at least up to these patches from SRPM to make a functional openssl. $ ls -1 patches/ openssl-1.1.1-evp-kdf.patch openssl-1.1.1-fips.patch openssl-1.1.1-krb5-kdf.patch openssl-1.1.1-ssh-kdf.patch |
|
Thank you for following up on this issue. I understand your concerns regarding the interaction between custom-compiled libraries and the patches in our distributed packages. However, Enterprise Linux systems are designed with a specific set of integrated libraries, and our support aligns with the use of these system-provided components. The behavior you're experiencing stems from the use of custom versions of libraries such as OpenSSL, which introduces incompatibilities with the system's patched versions. It is standard practice in Enterprise Linux environments to rely on system libraries to ensure compatibility and support. Transitioning software between major versions, like RHEL 7 to Rocky Linux 8, often involves changes that aren't backward compatible on a binary level. This is reflective of the different system architecture and security enhancements made over the years. We recommend utilizing the system-provided versions of OpenSSL to maintain stable and supported operations. If specific functionality from your custom versions is needed, we suggest exploring adjustments to align with the system's library compatibility. We appreciate the effort and the technical challenges involved in managing library dependencies across different enterprise environments. Although our team is unable to support non-standard configurations, the community forums or mailing lists can be valuable resources for finding potential solutions or workarounds shared by other users. If you have any further questions or need assistance with supported configurations, please let us know. We're here to help where we can. Thank you for your understanding. |
|
This was the first EPEL release that did not change the soname https://git.rockylinux.org/staging/src-rhel/rpms/openssl/-/blob/c8/SPECS/openssl.spec?ref_type=heads#L12 Seems like it was know that the symbol changes would be an issue but the same so version was used. Whats the point in having multiple RHEL flavors? Doesnt seem like support is a selling point. |
|
Go ahead and close this. I had low expectations for any resolution, but figured it would at least try to bring attention to the problems that can be created by the distribution adding symbols to standard libraries. Who would possibly still be using NIS in 2025 and porting forward openssl built on older glibc? Hopefully adding symbols isnt something we see more of in future releases, but I guess we will have to see what redhat/centos do. LD_PRELOAD=/usr/lib64/libcrypto.so is probably the best solution for other people who cant build their own krb5 to avoid this problem. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2024-12-06 01:59 | chris hargreaves | New Issue | |
2024-12-06 02:44 | Louis Abel | Assigned To | => Louis Abel |
2024-12-06 02:44 | Louis Abel | Status | new => closed |
2024-12-06 02:44 | Louis Abel | Resolution | open => no change required |
2024-12-06 02:44 | Louis Abel | Note Added: 0009027 | |
2024-12-06 03:09 | chris hargreaves | Status | closed => feedback |
2024-12-06 03:09 | chris hargreaves | Resolution | no change required => reopened |
2024-12-06 03:09 | chris hargreaves | Note Added: 0009028 | |
2024-12-06 03:22 | Neil Hanlon | Status | feedback => closed |
2024-12-06 03:22 | Neil Hanlon | Note Added: 0009029 | |
2024-12-06 05:53 | chris hargreaves | Status | closed => feedback |
2024-12-06 05:53 | chris hargreaves | Note Added: 0009030 | |
2024-12-06 06:28 | chris hargreaves | Note Added: 0009031 | |
2024-12-06 06:28 | chris hargreaves | Status | feedback => assigned |