Closed (fixed)
Project:
Drupal.org security advisory coverage applications
Component:
module
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
5 Oct 2011 at 13:12 UTC
Updated:
4 Jan 2014 at 01:11 UTC
Jump to comment: Most recent
Comments
Comment #1
berkas1 commentedPlease remove license.txt file. It wiil be added automatically.
Comment #2
tr commentedTagging.
Comment #3
bbujisic commentedRemoved license.txt file. Please review.
Thanks,
Branislav
Comment #4
klausiComment #5
bbujisic commentedKlausi, thank you so much for great review!
Further review will be more than appreciated.
Branislav
Comment #6
klausiComment #7
bbujisic commentedKlausi, thanks again for your help!
Comment #8
klausiuc_wepay_admin_settings(): there is still a "drupal_set_message($accounts['error_description'], 'error');" which should also use check_plain(), no?
Otherwise RTBC for me. Now while we are waiting for the access grants to create full projects would you be so kind to do a review of the other applications pending? Just pick one from this list: http://drupal.org/project/issues/projectapplications?status=8
Comment #9
gregglesPlease take a moment to make your project page follow tips for a great project page.
Yes, that needs to be done prior to this becoming a full project.
Comment #10
bbujisic commentedUpdated uc_wepay_admin_settings() according to recommendations. Please review.
Also, working on project page makeup.
Thank you very much!
Comment #11
klausiHaving a closer look, I'm still not completely happy with the security text sanitization. From http://drupal.org/node/28984
We don't have user typed input here, but input from a third party web service. We don't save to the database here, but we pass along the data. So you should not filter on incoming data (to preserve its original state), but you should filter immediately before outputting that data to the browser. You do the output filtering correctly now, but you still have check_plain() calls in uc_wepay_order(). I thought maybe you do it because the return value of this hook is printed unfiltered to the user, but when looking into uc_order.module I found that the return value of that hook is ignored anyway. Then I saw that you use the operation "submit", which is not even invoked in that module (what a mess!). I grepped after "('submit'" and traced it down to uc_cart.pages.inc, which does the invocation and ... passes unfiltered results to drupal_set_message().
Wow, so you are actually doing it right and my comment is pointless. However, I post this anyway to give greggles an example of how I do security reviews and as a basis for discussion.
Therefore, RTBC for me.
Comment #12
bbujisic commentedKlausi, you just inspired me to learn more about text sanitation and I cannot stress out how grateful I am.
Anyways, I have a question, most probably a stupid one: is there a legit reason to propose moving check_plain() uc_cart.pages.inc even though the function itself (uc_cart_checkout_review_form_submit()) does not do anything with results but passing them to drupal_set_message()?
Another question might be even more noobish: if change happens to the actual uc_cart_checkout_review_form_submit() and it starts sanitizing the message -- is there any way of spreading the word about it for us who use the function? Or should we follow the code changes by ourselves?
Again, thanks for all of your help!
Comment #13
klausi@Branislav: Maybe some modules want to output HTML in this messages, so check_plain() might not be wanted. filter_xss() might be an option, you could open an issue about that in the Ubercart issue queue. If that changes then you could remove your check_plain().
About change notifications: module maintainers should announce such important changes in the release notes. But of course it is always a good idea to follow changes in components that you depend on (Drupal core, Ubercart).
Comment #14
gregglesThanks for your contribution, Branislav Bujisic! Welcome to the community of project contributors on drupal.org.
I've granted you the git vetted user role which will let you promote this to a full project and also create new projects as either sandbox or "full" projects depending on which you feel is best.
Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.
As you continue to work on your module, keep in minde: Commit messages - providing history and credit and Release naming conventions.