[wp-trac] [WordPress Trac] #16483: Visibility: password-protected exposes multiple pages

WordPress Trac noreply at wordpress.org
Tue Jun 13 18:04:37 UTC 2017


#16483: Visibility: password-protected exposes multiple pages
-------------------------------------------------+-------------------------
 Reporter:  monkeyhouse                          |       Owner:
     Type:  defect (bug)                         |      Status:  new
 Priority:  normal                               |   Milestone:  4.9
Component:  Security                             |     Version:  3.0.4
 Severity:  normal                               |  Resolution:
 Keywords:  dev-feedback needs-testing has-      |     Focuses:
  patch early                                    |
-------------------------------------------------+-------------------------

Comment (by partyfrikadelle):

 You asked for a use-case where the actual behaviour makes sense? ;-) We
 got a customer, that uses same passwords over several Pages to make a
 complete "Chapter" available for the Users without having to "log in"
 again on every page.

 I'm pretty unsure if you can call the actual behaviour a real "security
 risk". If the User just has to enter a password, he ALREADY KNOWS for the
 Site, i would not call that "secure" actually.

 Let's be honest: 2 Parts of the actual Solution make it practically
 impossible to make it secure. One per-Page-Password will never be really
 secure. And the Password hashed in the Cookie? Will always be unsecure in
 my point of view.

 The One-Cookie-Per-Post-Solution implies Problems for all Sites, that rely
 on CDN-Services like Cloudfront, that rely on Cookies and/or Header-
 Information to cache content. Having individual Cookies for every post
 will make it impossible to to whitelist Cookies properly AND preventing
 that a logged-in will get a complete personal cache because of a very
 specific Cookie-Set.

 For preventing the above behaviour even for the normal password-cookie, i
 set the lifetime of the password-cookie to 1 second. This makes the user
 to enter the password on every page. Even if you reload the actual one.
 {{{#!php
 <?php
 function szs_set_cookie_expire () {
         return time() + 1; // 1 second.
 }
 add_filter('post_password_expires', 'szs_set_cookie_expire', 99);
 }}}
 But by that way no password-cookie ist sent at the next request and a CDN
 can response with the cached version as expected.

 I would imagine that making the underlying security-problems with using
 the Post-Passwords more transparent is more important than changing one
 unsecure behaviour to a practically just as unsecure behaviour.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/16483#comment:35>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list