Provides an integration with the Virtual Select library for select form elements.

Project link

https://www.drupal.org/project/virtual_select

Comments

kevin.brocatus created an issue. See original summary.

vishal.kadam’s picture

Thank you for applying! Reviewers will review the project files, describing what needs to be changed.

Please read Review process for security advisory coverage: What to expect for more details and Security advisory coverage application checklist to understand what reviewers look for. Tips for ensuring a smooth review gives some hints for a smoother review.

To reviewers: Please read How to review security advisory coverage applications, What to cover in an application review, and Drupal.org security advisory coverage application workflow.

While this application is open, only the user who opened the application can make commits to the project used for the application.

Reviewers only describe what needs to be changed; they don't provide patches to fix what reported in a review.

vinaymahale’s picture

Ran PHPCS tests. No major issues found except for a few lines exceeding characters which could be understood.
Let's wait for other reviewers!

kevin.brocatus’s picture

I appreciate the feedback @vinaymahale! I have fixed the characters limit in the README file too.

kevin.brocatus’s picture

Issue summary: View changes
willempje2’s picture

Just going through list given in the "PAReview: Review Template" and check what could be applicable to this module:

Code long/complex enough for review
Application has more than 120 lines and 5 function or class method definitions

Secure code
Twig templates correctly used
Placeholders are correctly used for database storage

Javascript (jQuery) and Drupal.checkPlain()
This might be issue, my jQuery knowledge is limited but there seems to be values outputted in DOM that are not sanitized.
See: https://git.drupalcode.org/project/virtual_select/-/blob/1.0.x/js/virtua...
And: https://www.drupal.org/docs/security-in-drupal/writing-secure-code-for-d...

kevin.brocatus’s picture

Thanks for reviewing @Willempje2. As far as I am concerned your suspicion about the jQuery .val() shouldn't case any security issues.

  1. The value that is being set is put into a value attribute, not directly into the DOM.
  2. The value that is being set comes directly from another select list which has been sanitized by Drupal.
  3. Sanitizing the value could actually cause issues as <div>value</div> is a valid select key.
kevin.brocatus’s picture

Issue summary: View changes
kevin.brocatus’s picture

Issue summary: View changes
avpaderno’s picture

Issue summary: View changes

I am removing the reported manual reviews for other applications, as per Review bonus, since this application has been already reviewed.

Keep in mind that, as per the Review bonus documentation page, applications are reviewed before others when they use the PAreview: review bonus issue tag.

avpaderno’s picture

If I execute code similar to the following one, in a page that contains a basic single-line text field, I would not see a dialog box appear.

$("input:text").val("<" + "script>alert('I did it')</" + "script>");

Clearly, if what entered in that text field is then used to create content in a page, it should be sanitized.

avpaderno’s picture

Priority: Normal » Major
vinaymahale’s picture

Priority: Major » Critical
avpaderno’s picture

Assigned: Unassigned » avpaderno
Priority: Critical » Normal
Status: Needs review » Reviewed & tested by the community

Thank you for your contribution! I am going to update your account.

These are some recommended readings to help with excellent maintainership:

You can find more contributors chatting on the Slack #contribute channel. So, come hang out and stay involved.
Thank you, 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.

I thank all the reviewers.

avpaderno’s picture

Status: Reviewed & tested by the community » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.