InfiniteWP Client NOSSL key yields only 31 bits of secret
A WordPress management plugin on roughly 200,000 installs can be forced onto a weak permanent authentication path that an offline brute-force recovers in minutes, enabling indefinite command forgery.
A researcher has demonstrated that InfiniteWP Client 1.13.10, a WordPress management plugin with roughly 200,000 installs, generates its weaker authentication secret with at most 31 bits of entropy. Once recovered offline, that key lets an attacker forge commands indefinitely against any site enrolled on the weak path.
The plugin offers two ways to authenticate to its management panel. One verifies an RSA signature. The other, called NOSSL, is selected by the enrolling panel through a single request parameter, even on hosts that fully support RSA. After the key is stored the choice is permanent and the RSA path is unreachable.
The NOSSL key is produced by hashing the panel’s already-public key together with one PHP rand() result. That yields at most 2^31 candidates. Authentication signs only the action name and message ID; parameters themselves are never covered. Message-ID ordering is checked solely on the auto-login path, so a captured request can be replayed with altered parameters. The key never rotates.
Working solely against an instance under their own control, the researcher recovered a byte-identical key from one captured get_stats request and the panel public key in 291.9 seconds. A forged maintain_site command signed with the recovered key was accepted and wrote new database options. Recover the key once and forgery works forever.
Every shipped copy contains the construction. Exploitation requires a site that was enrolled over NOSSL; the fraction of the 200,000 installs that used that path is not externally measurable. The finding was published under the name knell with a signed technical paper.