• Resolved Danillo Tuhumury

    (@danillo-tuhumury)


    Hi,

    First of all, I really love this plugin, but I’ve had some trouble with secured pages that suddenly became public after assigning an user to it through the ‘Edit groups’ page.

    I’ve debugged it a little and found out what the problem is. In CTXPS_Queries::add_membership($user_id,$group_id,$expiration) $user_id is 0. This will add a user with id 0 to the group in the table ps_group_relationships. This eventually messes up the page security.

    But the main problems lies within the function CTXPS_Queries::get_user_id_by_username(). This function is the one that returns 0 because it assumes that user_login and user_nicename in the table users are equal after some sanitizing and filters, see below:

    //Lets convert the request to a nicename (should be more reliable)
    $username = sanitize_title( $username );
    
    $username = apply_filters('pre_user_nicename', $username);
    
    //lets run this thing...
    $query = $wpdb->prepare('SELECT <code>ID</code> FROM <code>'.$wpdb->users.'</code> WHERE <code>user_nicename</code>=%s LIMIT 1',$username);
    return $wpdb->get_var($query,0,0);

    Adding a user to a group on the ‘Edit user’ page still works, but I think this should be fixed asap, since secured pages can become publicly this way.

    https://wordpress.org/plugins/contexture-page-security/

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Matt van Andel

    (@veraxus)

    Thanks for the heads up, Danillo. I’ll push an emergency update this weekend.

    Plugin Author Matt van Andel

    (@veraxus)

    I’ve pushed an update that fixes this hole and adds some new checks to ensure that invalid user ids cannot be enrolled (JIC).

    Thanks again for the bug report.

    Southern_Gateway_Chorus

    (@southern_gateway_chorus)

    Matt,
    Even though we updated to Page Security version 1.5.11, Secured pages were still accessible to the public (anyone). Apparently the new version did not correct the bug totally.

    I tried updating a group via the ‘Edit groups’ page and ‘Save[d] Changes’, and then the Secured pages were once again protected.

    Could you please develop a fix that corrects this problem for sites that already have this problem without their needing to edit and save a group (since it’s not obvious that you need to do that now)? Thanks!

    John

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Secured pages public due to bug in CTXPS_Queries::get_user_id_by_username()’ is closed to new replies.