Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-133013

/etc/hosts containing an entry with a name and alias but no IPv4 address results in sssd_be crash

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • rhel-10.1, rhel-9.7
    • sssd
    • None
    • No
    • Low
    • rhel-idm
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=2333179
      ~~~~~

      ```
      (2024-12-20 14:47:24): [be[ldap]] [get_server_status] (0x1000): Status of server 'ldap.cs.siue.edu' is 'name not resolved'
      (2024-12-20 14:47:24): [be[ldap]] [resolv_is_unix] (0x4000): [ldap.cs.siue.edu] does not look like a unix domain socket
      (2024-12-20 14:47:24): [be[ldap]] [resolv_is_address] (0x4000): [ldap.cs.siue.edu] does not look like an IP address
      (2024-12-20 14:47:24): [be[ldap]] [resolv_gethostbyname_step] (0x2000): Querying files
      (2024-12-20 14:47:24): [be[ldap]] [resolv_gethostbyname_files_send] (0x0100): Trying to resolve A record of 'ldap.cs.siue.edu' in files
      (2024-12-20 14:47:24): [be[ldap]] [set_server_common_status] (0x0100): Marking server 'ldap.cs.siue.edu' as 'resolving name'
      (2024-12-20 14:47:24): [be[ldap]] [set_server_common_status] (0x0100): Marking server 'ldap.cs.siue.edu' as 'name resolved'
      (2024-12-20 14:47:24): [be[ldap]] [be_resolve_server_process] (0x1000): Saving the first resolved server
      (2024-12-20 14:47:24): [be[ldap]] [be_resolve_server_process] (0x0200): Found socket for server ldap.cs.siue.edu: [vm-01]
      ```
      => crash

      Comment from sbose@redhat.com:
      ```
      It is related to the alias entry in /etc/hosts. If you remove the `vm-01` alias form /etc/hosts it should work (at least it worked for me).

      The reason is that `ares_gethostbyname_file()` from the c-ares library SSSD is using to resolve hostnames, returns an entry even if explicitly IPv4 addresses are requested. The entry will have the name and the alias entry but no address. The missing address is currently used as an indicator that the name component contains the path to an LDAPI socket. So this case should be properly checked after calling `ares_gethostbyname_file()` and treated as an unresolved name, which it is.
      ...
      since having aliases in /etc/hosts is a valid configuration we have to fix the SSSD side as well.
      ```

              sssd-maint SSSD Maintainers
              atikhono@redhat.com Alexey Tikhonov
              SSSD Maintainers SSSD Maintainers
              SSSD QE SSSD QE
              Louise McGarry Louise McGarry
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

                Created:
                Updated: