are you affected?

  • is your sshd running on musl? (alpine, openwrt, buildroot, yocto)
  • is it not using pam? alpine’s openssh-server doesn’t by default, or maybe you set UsePAM no
  • are password logins still on? they are by default
  • is there an account with just * as its password? key-only users, ldap users, root on alpine
  • and some other account with a real password?
  • then that * account takes any password between 257 and 1024 characters

on alpine’s official aws and azure images that’s the default alpine user, and it has passwordless doas. so it’s root

on debian, ubuntu, fedora or anything else with glibc? going through pam? dropbear? openbsd? you’re fine

  • cecilkorik@piefed.ca
    link
    fedilink
    English
    arrow-up
    8
    ·
    3 hours ago

    I think there is some confusion and potential for misinformation here. SSH in key-only mode (common configuration) protects you from this problem, because it never accepts or even attempts any passwords at all, regardless of length. SSH in password-allowed mode with at least one user who might be a key-only USER by merit of having a password hash of “*” (not a valid password hash) is a prerequisite for this. That is a very different and very common thing, as most systems come with at least one key-only user by default. But gaining access to that user with an incorrect, invalid password still requires having passwords enabled at all.

    To be clear: Password access enabled is a prerequisite, and by extension, password access disabled (key-only) prevents this.

    The website you linked clearly defines that all of these conditions must be true for you to be vulnerable, and as far as I can tell, it is exactly correct:

    is your sshd running on musl? (alpine, openwrt, buildroot, yocto)
    is it not using pam? alpine’s openssh-server doesn’t by default, or maybe you set UsePAM no
    are password logins still on? they are by default
    is there an account with just * as its password? key-only users, ldap users, root on alpine
    and some other account with a real password?

    then that * account takes any password between 257 and 1024 characters

    The * account which they suggest potentially being “key only” is the prerequisite you are talking about, but having SSH itself key-only (which is best practice anyway) prevents the attack entirely.