[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fnHKSC5ACRaJcAC81mjk-wDZ49SBK6Z9SUTPViu8YENA":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":21,"download_link":22,"security_score":23,"vuln_count":24,"unpatched_count":25,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":60,"crawl_stats":34,"alternatives":67,"analysis":68,"fingerprints":343},"login-rebuilder","Login rebuilder","2.8.8","tmatsuur","https:\u002F\u002Fprofiles.wordpress.org\u002Ftmatsuur\u002F","\u003Cp>Have not you experienced unjust access to wp-login.php? If this plug-in is used, a unique login page will be arranged to your site, and unlawful access will be reduced.\u003C\u002Fp>\n\u003Ch4>Some features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>This plugin allows you to change wp-login.php to a login page with a unique name (multisite sub-directory type is supported).\u003C\u002Fli>\n\u003Cli>Create a login page for administrators only, and separate it from the login page for users with other roles.\u003C\u002Fli>\n\u003Cli>Disables login by email address.\u003C\u002Fli>\n\u003Cli>When an administrator logs in, the site administrator is notified by email.\u003C\u002Fli>\n\u003Cli>Selects the response when the wp-login.php page is requested.\u003C\u002Fli>\n\u003Cli>Restrict the functions that can be used, such as login via XML-RPC.\u003C\u002Fli>\n\u003Cli>Restrict REST APIs related to users.\u003C\u002Fli>\n\u003Cli>Disable the author archive page.\u003C\u002Fli>\n\u003Cli>Controls the author information of oEmbed.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Japanese – https:\u002F\u002Felearn.jp\u002Fwpman\u002Fcolumn\u002Flogin-rebuilder.html\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translators\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Japanese(ja) – \u003Ca href=\"https:\u002F\u002F12net.jp\u002F\" rel=\"nofollow ugc\">Takenori Matsuura\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can send your own language pack to me.\u003C\u002Fp>\n\u003Cp>Please contact to me.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>https:\u002F\u002F12net.jp\u002F (ja)\u003C\u002Fli>\n\u003Cli>email to takenori.matsuura[at]gmail.com\u003C\u002Fli>\n\u003Cli>@tmatsuur on twitter.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Contributors\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002F12net.jp\u002F\" rel=\"nofollow ugc\">Takenori Matsuura\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>This plug-in is not guaranteed though the user of WordPress can freely use this plug-in free of charge regardless of the purpose.\u003Cbr \u002F>\nThe author must acknowledge the thing that the operation guarantee and the support in this plug-in use are not done at all beforehand.\u003C\u002Fp>\n\u003Ch3>Contact\u003C\u002Fh3>\n\u003Cp>email to takenori.matsuura[at]gmail.com\u003Cbr \u002F>\ntwitter @tmatsuur\u003C\u002Fp>\n","This plugin will create a new login page for your site. You can also create separate login pages for administrators and for other users.",20000,259264,100,7,"2026-01-19T07:36:00.000Z","6.9.0","3.2.0","5.6",[20],"login-secure-security","https:\u002F\u002Felearn.jp\u002Fwpman\u002Fcolumn\u002Flogin-rebuilder.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flogin-rebuilder.2.8.8.zip",99,2,0,"2023-05-02 00:00:00","2026-03-15T15:16:48.613Z",[29,45],{"id":30,"url_slug":31,"title":32,"description":33,"plugin_slug":4,"theme_slug":34,"affected_versions":35,"patched_in_version":36,"severity":37,"cvss_score":38,"cvss_vector":39,"vuln_type":40,"published_date":26,"updated_date":41,"references":42,"days_to_patch":44},"CVE-2023-2223","login-rebuilder-authenticated-administrator-stored-cross-site-scripting","Login rebuilder \u003C= 2.8.0 - Authenticated (Administrator+) Stored Cross-Site Scripting","The Login rebuilder plugin for WordPress is vulnerable to Stored Cross-Site Scripting via admin settings in versions up to, and including, 2.8.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with administrator-level permissions and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This only affects multi-site installations and installations where unfiltered_html has been disabled.",null,"\u003C=2.8.0","2.8.1","medium",4.4,"CVSS:3.1\u002FAV:N\u002FAC:H\u002FPR:H\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2024-01-22 19:56:02",[43],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F7ae14765-ba85-4aba-83ae-41f7de2f2551?source=api-prod",266,{"id":46,"url_slug":47,"title":48,"description":49,"plugin_slug":4,"theme_slug":34,"affected_versions":50,"patched_in_version":51,"severity":52,"cvss_score":53,"cvss_vector":54,"vuln_type":55,"published_date":56,"updated_date":41,"references":57,"days_to_patch":59},"CVE-2014-3882","login-rebuilder-cross-site-request-forgery","Login rebuilder \u003C 1.2.0 - Cross-Site Request Forgery","The Login rebuilder plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to 1.2.0. This is due to missing nonce validation on the properties() function. This makes it possible for unauthenticated attackers to modify the plugin's settings via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.","\u003C1.2.0","1.2.0","high",8.8,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:H\u002FI:H\u002FA:H","Cross-Site Request Forgery (CSRF)","2014-05-14 00:00:00",[58],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Ff75936d7-12bc-47cc-b901-17fd42c05d66?source=api-prod",3541,{"slug":7,"display_name":7,"profile_url":8,"plugin_count":61,"total_installs":62,"avg_security_score":63,"avg_patch_time_days":64,"trust_score":65,"computed_at":66},8,21190,86,1904,69,"2026-04-04T11:44:31.561Z",[],{"attackSurface":69,"codeSignals":213,"taintFlows":289,"riskAssessment":333,"analyzedAt":342},{"hooks":70,"ajaxHandlers":194,"restRoutes":209,"shortcodes":210,"cronEvents":211,"entryPointCount":212,"unprotectedCount":25},[71,76,79,82,87,91,94,97,101,104,107,110,113,116,120,123,127,131,135,139,143,147,151,154,158,160,164,168,173,176,179,183,186,190],{"type":72,"name":73,"callback":73,"file":74,"line":75},"action","admin_menu","login-rebuilder.php",166,{"type":72,"name":77,"callback":77,"file":74,"line":78},"admin_init",167,{"type":72,"name":80,"callback":80,"file":74,"line":81},"admin_enqueue_scripts",168,{"type":83,"name":84,"callback":84,"priority":85,"file":74,"line":86},"filter","plugin_row_meta",9,175,{"type":83,"name":88,"callback":88,"priority":89,"file":74,"line":90},"site_url",10,176,{"type":83,"name":92,"callback":92,"priority":89,"file":74,"line":93},"network_site_url",177,{"type":83,"name":95,"callback":95,"priority":89,"file":74,"line":96},"wp_redirect",178,{"type":72,"name":98,"callback":98,"priority":99,"file":74,"line":100},"allow_password_reset",1,179,{"type":72,"name":102,"callback":102,"priority":99,"file":74,"line":103},"validate_password_reset",180,{"type":72,"name":105,"callback":105,"file":74,"line":106},"login_init",183,{"type":72,"name":105,"callback":108,"priority":99,"file":74,"line":109},"http_auth_to_login",189,{"type":72,"name":111,"callback":111,"priority":89,"file":74,"line":112},"set_logged_in_cookie",193,{"type":72,"name":114,"callback":114,"priority":89,"file":74,"line":115},"wp_login_failed",196,{"type":83,"name":117,"callback":118,"file":74,"line":119},"authenticate","role_authenticate",198,{"type":83,"name":117,"callback":121,"file":74,"line":122},"ambiguous_error_message",200,{"type":83,"name":124,"callback":125,"priority":89,"file":74,"line":126},"redirect_canonical","author_page_canonical",208,{"type":72,"name":128,"callback":129,"file":74,"line":130},"template_redirect","author_page_404",209,{"type":83,"name":132,"callback":133,"priority":89,"file":74,"line":134},"wp_sitemaps_add_provider","sitemaps_suppress_users",210,{"type":83,"name":136,"callback":137,"priority":89,"file":74,"line":138},"oembed_response_data","oembed_hide_author_data",214,{"type":83,"name":140,"callback":141,"priority":89,"file":74,"line":142},"rest_pre_dispatch","disable_oembed_request",217,{"type":83,"name":144,"callback":145,"priority":89,"file":74,"line":146},"user_request_action_email_content","set_original_confirmaction_url",220,{"type":83,"name":148,"callback":149,"priority":89,"file":74,"line":150},"login_errors","login_locked_status",223,{"type":83,"name":152,"callback":149,"priority":89,"file":74,"line":153},"login_messages",224,{"type":83,"name":155,"callback":156,"priority":89,"file":74,"line":157},"determine_locale","determined_locale",226,{"type":83,"name":140,"callback":140,"priority":61,"file":74,"line":159},229,{"type":83,"name":161,"callback":161,"priority":162,"file":74,"line":163},"send_auth_cookies",10000,233,{"type":72,"name":165,"callback":166,"file":74,"line":167},"pre_user_query","add_session_tokens_value",2700,{"type":83,"name":169,"callback":170,"priority":171,"file":74,"line":172},"xmlrpc_enabled","__return_false",9999,3057,{"type":83,"name":117,"callback":174,"priority":171,"file":74,"line":175},"xmlrpc_authenticate",3059,{"type":83,"name":177,"callback":177,"file":74,"line":178},"xmlrpc_methods",3061,{"type":72,"name":180,"callback":181,"priority":89,"file":74,"line":182},"pre_ping","self_post_no_ping",3063,{"type":83,"name":177,"callback":184,"file":74,"line":185},"pingback_disabled",3065,{"type":83,"name":187,"callback":188,"priority":89,"file":74,"line":189},"pingback_ping_source_uri","pingback_logging",3072,{"type":83,"name":191,"callback":192,"priority":89,"file":74,"line":193},"xmlrpc_pingback_error","pingback_error_logging",3073,[195,201,205],{"action":196,"nopriv":197,"callback":198,"hasNonce":199,"hasCapCheck":199,"file":74,"line":200},"login_rebuilder_try_save",false,"try_save",true,170,{"action":202,"nopriv":197,"callback":203,"hasNonce":199,"hasCapCheck":199,"file":74,"line":204},"login_rebuilder_lock_exists","lock_exists",171,{"action":206,"nopriv":197,"callback":207,"hasNonce":199,"hasCapCheck":199,"file":74,"line":208},"login_rebuilder_download_log","download_log",172,[],[],[],3,{"dangerousFunctions":214,"sqlUsage":215,"outputEscaping":217,"fileOperations":286,"externalRequests":25,"nonceChecks":14,"capabilityChecks":287,"bundledLibraries":288},[],{"prepared":24,"raw":25,"locations":216},[],{"escaped":218,"rawEcho":219,"locations":220},162,33,[221,225,227,229,231,232,234,236,238,240,242,245,246,247,249,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284],{"file":222,"line":223,"context":224},"includes\\form-properties.php",43,"raw output",{"file":222,"line":226,"context":224},59,{"file":222,"line":228,"context":224},110,{"file":222,"line":230,"context":224},314,{"file":222,"line":230,"context":224},{"file":222,"line":233,"context":224},344,{"file":222,"line":235,"context":224},345,{"file":222,"line":237,"context":224},375,{"file":222,"line":239,"context":224},379,{"file":222,"line":241,"context":224},462,{"file":243,"line":244,"context":224},"includes\\form-xmlrpc-properties.php",29,{"file":243,"line":244,"context":224},{"file":243,"line":244,"context":224},{"file":243,"line":248,"context":224},42,{"file":243,"line":248,"context":224},{"file":243,"line":251,"context":224},49,{"file":243,"line":253,"context":224},66,{"file":243,"line":255,"context":224},70,{"file":243,"line":257,"context":224},74,{"file":74,"line":259,"context":224},635,{"file":74,"line":261,"context":224},647,{"file":74,"line":263,"context":224},663,{"file":74,"line":265,"context":224},1429,{"file":74,"line":267,"context":224},1518,{"file":74,"line":269,"context":224},1535,{"file":74,"line":271,"context":224},1537,{"file":74,"line":273,"context":224},2316,{"file":74,"line":275,"context":224},2400,{"file":74,"line":277,"context":224},2489,{"file":74,"line":279,"context":224},2510,{"file":74,"line":281,"context":224},2570,{"file":74,"line":283,"context":224},3211,{"file":74,"line":285,"context":224},3260,14,17,[],[290,308],{"entryPoint":291,"graph":292,"unsanitizedCount":25,"severity":307},"download_log (login-rebuilder.php:3228)",{"nodes":293,"edges":305},[294,299],{"id":295,"type":296,"label":297,"file":74,"line":298},"n0","source","$_POST",3253,{"id":300,"type":301,"label":302,"file":74,"line":303,"wp_function":304},"n1","sink","header() [Header Injection]",3255,"header",[306],{"from":295,"to":300,"sanitized":199},"low",{"entryPoint":309,"graph":310,"unsanitizedCount":25,"severity":307},"\u003Clogin-rebuilder> (login-rebuilder.php:0)",{"nodes":311,"edges":329},[312,315,319,321,323,326],{"id":295,"type":296,"label":313,"file":74,"line":314},"$_GET (x5)",335,{"id":300,"type":301,"label":316,"file":74,"line":317,"wp_function":318},"echo() [XSS]",2368,"echo",{"id":320,"type":296,"label":297,"file":74,"line":298},"n2",{"id":322,"type":301,"label":302,"file":74,"line":303,"wp_function":304},"n3",{"id":324,"type":296,"label":325,"file":74,"line":314},"n4","$_GET",{"id":327,"type":301,"label":302,"file":74,"line":328,"wp_function":304},"n5",3259,[330,331,332],{"from":295,"to":300,"sanitized":199},{"from":320,"to":322,"sanitized":199},{"from":324,"to":327,"sanitized":199},{"summary":334,"deductions":335},"The login-rebuilder plugin version 2.8.8 exhibits a generally good security posture with a strong emphasis on implementing proper security checks. The static analysis reveals a commendable lack of critical or high-severity issues in taint analysis and a complete absence of dangerous functions. The code also demonstrates good practices in its use of prepared statements for all SQL queries, a significant number of nonce and capability checks, and robust output escaping for the majority of its outputs.\n\nHowever, the plugin's history of known vulnerabilities, including past instances of Cross-Site Scripting (XSS) and Cross-Site Request Forgery (CSRF), indicates a recurring pattern of potential input validation or output sanitization weaknesses. While there are currently no unpatched CVEs, the existence of a past high and medium severity vulnerability warrants continued vigilance. The attack surface, though small and seemingly protected by authentication checks, could still pose a risk if any of those checks are ever found to be insufficient or bypassed.\n\nIn conclusion, the login-rebuilder plugin has made significant strides in improving its security, as evidenced by the current static analysis. The use of prepared statements and robust checks are strengths. Nevertheless, the historical vulnerability profile suggests that ongoing security scrutiny and thorough testing are crucial to prevent the re-emergence of similar issues.",[336,339],{"reason":337,"points":338},"Past high and medium severity vulnerabilities",15,{"reason":340,"points":341},"83% of outputs properly escaped",6,"2026-03-16T17:31:15.649Z",{"wat":344,"direct":359},{"assetPaths":345,"generatorPatterns":351,"scriptPaths":352,"versionParams":353},[346,347,348,349,350],"\u002Fwp-content\u002Fplugins\u002Flogin-rebuilder\u002Fcss\u002Flogin-rebuilder.css","\u002Fwp-content\u002Fplugins\u002Flogin-rebuilder\u002Fcss\u002Flogin-rebuilder-admin.css","\u002Fwp-content\u002Fplugins\u002Flogin-rebuilder\u002Fjs\u002Flogin-rebuilder.js","\u002Fwp-content\u002Fplugins\u002Flogin-rebuilder\u002Fjs\u002Flogin-rebuilder-admin.js","\u002Fwp-content\u002Fplugins\u002Flogin-rebuilder\u002Fjs\u002Flogin-rebuilder-admin-setting.js",[],[348,349,350],[354,355,356,357,358],"login-rebuilder\u002Fcss\u002Flogin-rebuilder.css?ver=","login-rebuilder\u002Fcss\u002Flogin-rebuilder-admin.css?ver=","login-rebuilder\u002Fjs\u002Flogin-rebuilder.js?ver=","login-rebuilder\u002Fjs\u002Flogin-rebuilder-admin.js?ver=","login-rebuilder\u002Fjs\u002Flogin-rebuilder-admin-setting.js?ver=",{"cssClasses":360,"htmlComments":363,"htmlAttributes":366,"restEndpoints":369,"jsGlobals":371,"shortcodeOutput":373},[361,362],"login-rebuilder-message","login-rebuilder-message-error",[364,365],"\u003C!-- Login rebuilder -->","\u003C!-- login-rebuilder -->",[367,368],"data-login-rebuilder-nonce","data-login-rebuilder-ajax-nonce",[370],"\u002Fwp-json\u002Flogin-rebuilder\u002Fv1\u002Fsettings",[372],"login_rebuilder_ajax_object",[]]