In src/havegecmd.c, the socket_handler function performs a credential check on the abstract UNIX socket (0/sys/entropy/haveged). However, while it detects if the connecting user is not root (cred.uid != 0) and prepares a negative acknowledgement (ASCII_NAK), it fails to stop execution. The code proceeds to the switch statement, allowing any local unprivileged user to execute privileged commands such as MAGIC_CHROOT.
The authentication algorithm is sound, but the implemented mechanism can be bypassed as the result of a separate weakness that is primary to the authentication error.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Haveged | Ubuntu | esm-apps/jammy | * |
| Haveged | Ubuntu | esm-apps/noble | * |
| Haveged | Ubuntu | esm-apps/resolute | * |
| Haveged | Ubuntu | jammy | * |
| Haveged | Ubuntu | noble | * |
| Haveged | Ubuntu | questing | * |
| Haveged | Ubuntu | resolute | * |
| Haveged | Ubuntu | upstream | * |