WP Manifestindependent plugin directory
manifest / security / login

Tsjippy Login WP Registry grade D+. High-severity findings · 3 findingsWP RegistryHigh-severity findings · 3 findingsOpen the reportD+

A module for the sim-plugin

★ 0stars
79release downloads
≈10active sites
11.0.0latest · 18d ago

Install

Download tsjippy-login.zip From the 11.0.0 release on GitHub, Oct 4, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/tsjippy/login/releases/download/11.0.0/tsjippy-login.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Description

This module turns on AJAX login and adds two factor login, webauthentication(fingerprint, facial, pincode) and qr code login.
The normal login (wp-login.php) is no longer available once this module is activated.
A 'login' or 'logout' menu button will be added instead.
These buttons are used for AJAX based logins and logouts, saving loading time.

Three second factor options are available:

  • Authenticator code
  • E-mail
  • Biometrics

As biometrics is device specific, it is advisable to also add e-mail or authenticator login.

The login process will be this:

  • Click login
  • If webauthentication is available you will be logged in straigt away if not:
  • Fill in username and password
  • Click verify credentials
  • If a biometric login is enabled for the current device that will be used
  • If no biometric login is enabled for the current device a authenticator or e-mail code will be requested
  • If no second factor is setup yet the user will be redirected to the page to setup 2fa and cannot access the website.

on Devices without webauthenticators people can login by scanning a qr code using a device with authenticator enabled


2fa setup is done on the page containing the twofa_setup shortcode.
Use like this: [twofa_setup]

Hooks

FILTERS

  • apply_filters('sim_add_login_button', true, $args->menu->term_id, $loginMenus);
  • apply_filters( 'lostpassword_errors', $errors, $user );
  • apply_filters( 'registration_errors', $errors, $userdata );
  • sim-login-menu-item
  • sim-after-user-check

Releases

Newest 25 of 60 recorded releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
11.0.0 latest
Oct 4, 2026 18d ago
tsjippy-login.zip +1 asset
3
tsjippy-login.zip3
WP-tsjippy-login.zip0
Oct 3, 2026 19d ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Oct 3, 2026 19d ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Oct 1, 2026 22d ago
tsjippy-login.zip +1 asset
0
tsjippy-login.zip0
WP-tsjippy-login.zip0
Oct 1, 2026 22d ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 27, 2026 25d ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 26, 2026 26d ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 25, 2026 27d ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 25, 2026 27d ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 24, 2026 28d ago
tsjippy-login.zip +1 asset cohort
9
tsjippy-login.zip5
WP-tsjippy-login.zip4
Sep 24, 2026 28d ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 23, 2026 1mo ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 22, 2026 1mo ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 22, 2026 1mo ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 20, 2026 1mo ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 16, 2026 1mo ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 16, 2026 1mo ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 13, 2026 1mo ago
tsjippy-login.zip +1 asset
7
tsjippy-login.zip4
WP-tsjippy-login.zip3
Sep 11, 2026 1mo ago
tsjippy-login.zip +1 asset
7
tsjippy-login.zip4
WP-tsjippy-login.zip3
Sep 10, 2026 1mo ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 10, 2026 1mo ago
tsjippy-login.zip +1 asset
3
tsjippy-login.zip2
WP-tsjippy-login.zip1
Sep 9, 2026 1mo ago
tsjippy-login.zip +1 asset
0
tsjippy-login.zip0
WP-tsjippy-login.zip0
Sep 3, 2026 1mo ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 2, 2026 1mo ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
Sep 1, 2026 1mo ago
tsjippy-login.zip +1 asset
1
tsjippy-login.zip1
WP-tsjippy-login.zip0
All releases on GitHub →

Active-site estimate ≈10 comes from the 10.9.1 cohort. Method.

D+ grade

Security

Tsjippy Login 11.0.0 · audited by WP Registry

High-severity findings.

2 high 1 medium
Audited release
11.0.0
Findings
3
Worst severity
high
Content hash
5985c507206c69fd18d07f55…

Findings

  • high Password reset and email-code endpoints disclose user email addresses

    information_disclosure

    requestPasswordReset returns "Password reset link send to $email" including the full mailbox. requestEmailCode returns "E-mail sent to " . $user->user_email. Both are public (__return_true). Combined with username enumeration (Invalid username vs success), attackers harvest emails for phishing and confirm account existence.

    php/rest_api.php:368-396

    Recommendation

    Always return a generic success message regardless of whether the user exists, and never echo the destination email.

  • high Logged-in users can remove arbitrary WebAuthn user-handles (IDOR)

    missing_capability

    remove_web_authenticator is callable by any user with the read capability. removeWebAuthenticator() takes $_POST['userHandle'] and unsets that key from the site option tsjippy-webauth-user-handles with no check that the handle belongs to the current user. A Subscriber can disrupt other users' passwordless/passkey login mappings.

    php/rest_api_biometrics.php:162-178,207-219

    Recommendation

    Scope removals to credentials owned by get_current_user_id(), verify the posted key against that user's stored WebAuthn records, and require a nonce.

  • medium Password reset and email-code endpoints disclose user email addresses

    information_disclosure

    requestPasswordReset returns "Password reset link send to $email" and requestEmailCode returns "E-mail sent to " . $user->user_email for a supplied username/id. Unauthenticated callers can enumerate valid usernames and recover associated emails.

    php/rest_api.php:368-396

    Recommendation

    Return a generic success message that does not include the destination email or confirm whether the username exists.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.