[buddypress-trac] [BuddyPress Trac] #5478: Security while favorting activity

buddypress-trac noreply at wordpress.org
Thu Mar 27 01:04:43 UTC 2014


#5478: Security while favorting activity
--------------------------+-----------------------------
 Reporter:  mpa4hu        |      Owner:
     Type:  defect (bug)  |     Status:  new
 Priority:  high          |  Milestone:  Awaiting Review
Component:  Core          |    Version:
 Severity:  normal        |   Keywords:
--------------------------+-----------------------------
 This is not much security issue but interesting workaround.

         var type = target.hasClass('fav') ? 'fav' : 'unfav';
         var parent = target.closest('.activity-item');
         var parent_id = parent.attr('id').substr( 9,
 parent.attr('id').length );
         target.addClass('loading');
         jq.post( ajaxurl, {
                 action: 'activity_mark_' + type,
                 'cookie': bp_get_cookies(),
                 'id': parent_id
         }

 this is a client side script that handles favoriting activity.

 Then on server side when removing activity favorite
 (`bp_activity_remove_user_favorite`) you check
 `$my_favs = array_unique( array_flip( $my_favs ) );`
 `array_unique` (i think) guarantees that array meta data stays clean.

 On the other hand when adding activity as favorite
 (`bp_activity_add_user_favorite`) There is no such thing.

 at first this might not sound serious, but for example I have a filter
 thats orders activities by `favorite_count` meta. and since there is no
 check from backend if its already favorited or not, I can increment that
 meta as many times as I want.

--
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/5478>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac


More information about the buddypress-trac mailing list