Page MenuHomePhabricator

Check existing and planned plugins for WikimediaFoundation.org
Closed, ResolvedPublicSecurity

Description

Per a discussion with @sbassett - I am submitting a ticket with information on the existing plugins in use on WikimediaFoundation.org. The overall code has mostly been checked recently since the review of Sound Logo code - but the repo with theme code can be found on GitHub.

Here are planned additional plugins :

n.b. Per Slack conversation, the above are likely to be deployed during the month of 5/2023.

Deployed for testing: https://wikimediafoundation-org-preprod.go-vip.net/

Here are the existing plugins:

I have also updated this list: https://office.wikimedia.org/wiki/WordPress#Plugins_and_Themes

Please let me know if you need any additional information. Ideally, would like information on the four possible additions as the others are already in use and remedies would be different (depending on issue/plugin/etc.).

Details

Risk Rating
Low
Author Affiliation
WMF Communications Dept

Event Timeline

Regarding the Vega Lite plugin - from Human Made:
"These are the versions of the Vega libraries that we use on the WordPress plugin:

"vega": "^5.22.1",
"vega-embed": "^6.21.0",
"vega-lite": "^5.2.0""

My understanding is those versions avoid the security issues raised with the Graphs extension.

Hey @Varnent - Is there any pressing deadline or milestone guiding this work right now? I ask because, given other security issues and our current reviews commitment for this quarter, we might not be able to perform this review until next quarter.

Hey @sbassett - thank you for looking into this quickly. We have some work on hold pending the additional plugins. They are - fwiw - either all already in use elsewhere or approved already by the web host (VIP).

I am okay with Comms taking responsibility for problems with their usage until Security has time to do a review of everything - and then we can huddle on what changes - if any - need to be made to the collection of plugins as a whole.

If that works for you - then we do not have any pressing deadlines. If you would like us to freeze adding any new plugins until everything is reviewed - we may want to see if we can squeeze at least those plugins in as soon as reasonably possible.

Adding in org's primary WordPress vendor for visibility/awareness.

sbassett changed the task status from Open to In Progress.Jul 10 2023, 5:29 PM
sbassett assigned this task to mmartorana.
sbassett triaged this task as Medium priority.
sbassett moved this task from Back Orders to In Progress on the Security-Team board.
sbassett moved this task from Upcoming Quarter Planning Queue to In Progress on the secscrum board.

Security Review Summary - T335004 - 2023-09-26

In general, the vendor code presently under evaluation raises certain concerns. This is primarily due to the fact that the primary avenue for potential attacks on WordPress installations is through plugins. In the list of plugins being assessed, some raise security red flags, notably those with low usage and maintenance levels (please refer to the detailed analysis below).

On a positive note, the provided testing environment has undergone thorough testing, and it seems that all the plugins are not in vulnerable versions (please provide the exact version list to double check). To mitigate the overall risk, it is imperative to consistently keep all plugins to their latest versions. This proactive approach will help maintain a secure WordPress installation.

To further lower the risk, it is strongly suggested to reduce the number of outdated and vulnerable dependencies. It is also suggested to make some efforts to address some of the SAST findings in the files attached, even though we may not directly own the code. Collaborative efforts to resolve these findings can significantly enhance the overall security posture.

One aspect I'm uncertain about is whether the Shiro theme currently in use is up to date. It appears that the current version is 1.0.0, while the latest available version is 1.1.3?

To address privacy concerns, the following three plugins: multilingualpress, yoast and gravity forms will undergo a comprehensive review by Privacy Engineering.

Overall risk rating of: medium

PublishPress Permissions

Statistic/InfoValueRisk
Repositorywordpress none
Total number of reviews54 medium
Code frequencyMonthly low
Recent contributions to code (6 months)24 low
Active developers4 low
Current overall usage10.000+ low
Disclosed Vulnerabilities0 none
Issues resolved in the last two months4 out of 8 medium

Gf-hcaptcha

Statistic/InfoValueRisk
Repositorywordpress none
Total number of reviews2 critical
Code frequencyYearly critical
Recent contributions to code (6 months)0 critical
Active developers1 critical
Current overall usage3.000+ medium
Disclosed Vulnerabilities0 none
Issues resolved in the last two months1 out of 1 high

Safe-svg

Statistic/InfoValueRisk
Repositorywordpress none
Total number of reviews69 medium
Code frequencySix-months medium
Recent contributions to code (6 months)3 low
Active developers3 low
Current overall usage800,000+ low
Disclosed Vulnerabilities3 medium
Issues resolved in the last two months0 out of 1 high

Broken-link-checker

Statistic/InfoValueRisk
Repositorywordpress none
Total number of reviews531 low
Code frequency~Weekly low
Recent contributions to code (6 months)15 low
Active developersDev Team + 1 low
Current overall usage700,000+ low
Disclosed Vulnerabilities9 high
Issues resolved in the last two months21 out of 25 low

Co-authors-plus

Statistic/InfoValueRisk
Repositorywordpress none
Total number of reviews71 medium
Code frequencyMonthly low
Recent contributions to code (6 months)5 low
Active developers4 low
Current overall usage30,000+ low
Disclosed Vulnerabilities1 low
Issues resolved in the last two months10 out of 18 low

Safe-redirect-manager

Statistic/InfoValueRisk
Repositorywordpress none
Total number of reviews73 medium
Code frequencyQuarterly low
Recent contributions to code (6 months)4 medium
Active developers7 low
Current overall usage50,000+ low
Disclosed Vulnerabilities0 low
Issues resolved in the last two months0 out of 2 high

Duplicate-page

Statistic/InfoValueRisk
Repositorywordpress none
Total number of reviews342 low
Code frequencyQuarterly low
Recent contributions to code (6 months)2 medium
Active developers1 critical
Current overall usage3+ million low
Disclosed Vulnerabilities5 high
Issues resolved in the last two months3 out of 8 medium

Fieldmanager

Statistic/InfoValueRisk
Repositorygithub none
Relevant tag/branchmaster none
Last commit reviewed (if relevant) none
Recent contributions to code (6 months)3 high
Active developers with > 10 commits10 low
Current overall usage501 stars, 103 forks low
Current open security issues0 none
Methods for reporting security issuesemail to dev team none

Vulnerable Packages
none

General Security Issues


Risk medium

Maintenance-mode-wp

Statistic/InfoValueRisk
Repositorygithub none
Relevant tag/branchmaster none
Last commit reviewed (if relevant) none
Recent contributions to code (6 months)0 critical
Active developers with > 10 commits1 critical
Current overall usage36 stars, 13 forks high
Current open security issues0 none
Methods for reporting security issuesPolicy missing medium

Vulnerable Packages
none

General Security Issues


Risk low

Simple-editorial-comments

Statistic/InfoValueRisk
Repositorygithub none
Relevant tag/branchmaster none
Last commit reviewed (if relevant) none
Recent contributions to code (6 months)0 high
Active developers with > 10 commits1 critical
Current overall usage11 stars, 2 forks high
Current open security issues0 medium
Methods for reporting security issuesPolicy missing medium

Vulnerable Packages
none

General Security Issues


Risk low

Vegalite-wordpress-plugin

Statistic/InfoValueRisk
Repositorygithub none
Relevant tag/branchmaster none
Last commit reviewed (if relevant) none
Recent contributions to code (6 months)9 low
Active developers with > 10 commits2 medium
Current overall usage4 stars, 2 forks medium
Current open security issues0 low
Methods for reporting security issuesPolicy missing medium

Vulnerable Packages

OSV URLCVSSEcosystemPackageVersionSource
https://osv.dev/GHSA-c2qf-rxjj-qqgw5.3npmsemver6.3.0package-lock.json
https://osv.dev/GHSA-c2qf-rxjj-qqgw5.3npmsemver7.3.8package-lock.json
https://osv.dev/GHSA-4vq7-882g-wcg46.1npmvega5.22.1package-lock.json
https://osv.dev/GHSA-w5m3-xh75-mp556.1npmvega5.22.1package-lock.json
https://osv.dev/GHSA-4vq7-882g-wcg46.1npmvega-functions5.13.0package-lock.json
https://osv.dev/GHSA-w5m3-xh75-mp556.1npmvega-functions5.13.0package-lock.json
https://osv.dev/GHSA-hc6q-2mpp-qw7j7.6npmwebpack5.75.0package-lock.json
https://osv.dev/GHSA-j8xg-fqg3-53r75.3npmword-wrap1.2.3package-lock.json

General Security Issues


Risk low

Asset-loader

Statistic/InfoValueRisk
Repositorygithub none
Relevant tag/branchmaster none
Last commit reviewed (if relevant) none
Recent contributions to code (6 months)0 high
Active developers with > 10 commits2 medium
Current overall usage24 stars, 4 forks medium
Current open security issues0 low
Methods for reporting security issuesPolicy missing medium

Vulnerable Packages
none

General Security Issues


Risk low

Hm-gutenberg-tools

Statistic/InfoValueRisk
Repositorygithub none
Relevant tag/branchmaster none
Last commit reviewed (if relevant) none
Recent contributions to code (6 months)13 low
Active developers with > 10 commits4 low
Current overall usage186 stars, 20 forks low
Current open security issues0 low
Methods for reporting security issuesPolicy missing medium

Vulnerable Packages

OSV URLCVSSEcosystemPackageVersionSource
https://osv.dev/GHSA-v88g-cgmw-v5xw5.6npmajv4.11.8package-lock.json
https://osv.dev/GHSA-w573-4hg7-7wgq7.5npmdecode-uri-component0.2.0package-lock.json
https://osv.dev/GHSA-ww39-953v-wcq67.5npmglob-parent3.1.0package-lock.json
https://osv.dev/GHSA-f4c9-cqv8-9v985.6npmjsdom11.12.0package-lock.json
https://osv.dev/GHSA-9c47-m6qq-7p4h7.1npmjson51.0.1package-lock.json
https://osv.dev/GHSA-9c47-m6qq-7p4h7.1npmjson52.2.1package-lock.json
https://osv.dev/GHSA-76p3-8jx3-jpfq9.8npmloader-utils1.4.0package-lock.json
https://osv.dev/GHSA-3rfm-jhwj-74887.5npmloader-utils1.4.0package-lock.json
https://osv.dev/GHSA-hhq3-ff78-jv3g7.5npmloader-utils1.4.0package-lock.json
https://osv.dev/GHSA-76p3-8jx3-jpfq9.8npmloader-utils2.0.2package-lock.json
https://osv.dev/GHSA-3rfm-jhwj-74887.5npmloader-utils2.0.2package-lock.json
https://osv.dev/GHSA-hhq3-ff78-jv3g7.5npmloader-utils2.0.2package-lock.json
https://osv.dev/GHSA-5rrq-pxf6-6jx5npmnode-forge0.10.0package-lock.json
https://osv.dev/GHSA-8fr3-hfg3-gpgp6.1npmnode-forge0.10.0package-lock.json
https://osv.dev/GHSA-gf8q-jrpm-jvxqnpmnode-forge0.10.0package-lock.json
https://osv.dev/GHSA-2r2c-g63r-vccr5.3npmnode-forge0.10.0package-lock.json
https://osv.dev/GHSA-cfm4-qjh2-47657.5npmnode-forge0.10.0package-lock.json
https://osv.dev/GHSA-x4jg-mjrx-434g7.5npmnode-forge0.10.0package-lock.json
https://osv.dev/GHSA-5fw9-fq32-wv5p5.6npmnode-notifier5.4.5package-lock.json
https://osv.dev/GHSA-rp65-9cf3-cjxr7.5npmnth-check1.0.2package-lock.json
https://osv.dev/GHSA-p8p7-x288-28g66.1npmrequest2.88.2package-lock.json
https://osv.dev/GHSA-c2qf-rxjj-qqgw5.3npmsemver5.7.1package-lock.json
https://osv.dev/GHSA-c2qf-rxjj-qqgw5.3npmsemver6.3.0package-lock.json
https://osv.dev/GHSA-c2qf-rxjj-qqgw5.3npmsemver7.3.8package-lock.json
https://osv.dev/GHSA-4rq4-32rv-6wp67.1npmshelljs0.7.8package-lock.json
https://osv.dev/GHSA-64g7-mvw6-v9qjnpmshelljs0.7.8package-lock.json
https://osv.dev/GHSA-72xf-g2v4-qvf36.5npmtough-cookie2.5.0package-lock.json
https://osv.dev/GHSA-j8xg-fqg3-53r75.3npmword-wrap1.2.3package-lock.json

General Security Issues


Risk low

Wikipedia-preview

Statistic/InfoValueRisk
Repositorygithub none
Relevant tag/branchmaster none
Last commit reviewed (if relevant) none
Recent contributions to code (6 months)24 low
Active developers with > 10 commits4 low
Current overall usage50 stars, 22 forks low
Current open security issues0 low
Methods for reporting security issuesPolicy missing medium

Vulnerable Packages

OSV URLCVSSEcosystemPackageVersionSource
https://osv.dev/GHSA-p8p7-x288-28g66.1npm@cypress/request2.88.6package-lock.json
https://osv.dev/GHSA-whgm-jr23-g3j97.5npmansi-html0.0.7package-lock.json
https://osv.dev/GHSA-93q8-gq69-wqmw7.5npmansi-regex3.0.0package-lock.json
https://osv.dev/GHSA-93q8-gq69-wqmw7.5npmansi-regex4.1.0package-lock.json
https://osv.dev/GHSA-fwr7-v2mv-hh257.8npmasync2.6.3package-lock.json
https://osv.dev/GHSA-fwr7-v2mv-hh257.8npmasync3.2.1package-lock.json
https://osv.dev/GHSA-w8qv-6jwh-64r55.3npmbrowserslist4.14.2package-lock.json
https://osv.dev/GHSA-w573-4hg7-7wgq7.5npmdecode-uri-component0.2.0package-lock.json
https://osv.dev/GHSA-phwq-j96m-2c2q9.8npmejs2.7.4package-lock.json
https://osv.dev/GHSA-6h5x-7c5m-7cr79.3npmeventsource1.1.0package-lock.json
https://osv.dev/GHSA-2j2x-2gpw-g8fm9.8npmflat4.1.1package-lock.json
https://osv.dev/GHSA-74fj-2j2h-c42q8npmfollow-redirects1.14.4package-lock.json
https://osv.dev/GHSA-pw2r-vq6v-hr8c5.9npmfollow-redirects1.14.4package-lock.json
https://osv.dev/GHSA-ww39-953v-wcq67.5npmglob-parent2.0.0package-lock.json
https://osv.dev/GHSA-ww39-953v-wcq67.5npmglob-parent3.1.0package-lock.json
https://osv.dev/GHSA-33f9-j839-rf8h9.8npmimmer8.0.1package-lock.json
https://osv.dev/GHSA-c36v-fmgq-m8hx7.5npmimmer8.0.1package-lock.json
https://osv.dev/GHSA-896r-f27r-55mw9.8npmjson-schema0.2.3package-lock.json
https://osv.dev/GHSA-9c47-m6qq-7p4h7.1npmjson51.0.1package-lock.json
https://osv.dev/GHSA-9c47-m6qq-7p4h7.1npmjson52.2.0package-lock.json
https://osv.dev/GHSA-76p3-8jx3-jpfq9.8npmloader-utils1.4.0package-lock.json
https://osv.dev/GHSA-3rfm-jhwj-74887.5npmloader-utils1.4.0package-lock.json
https://osv.dev/GHSA-hhq3-ff78-jv3g7.5npmloader-utils1.4.0package-lock.json
https://osv.dev/GHSA-76p3-8jx3-jpfq9.8npmloader-utils2.0.0package-lock.json
https://osv.dev/GHSA-3rfm-jhwj-74887.5npmloader-utils2.0.0package-lock.json
https://osv.dev/GHSA-hhq3-ff78-jv3g7.5npmloader-utils2.0.0package-lock.json
https://osv.dev/GHSA-f8q6-p94x-37v37.5npmminimatch3.0.4package-lock.json
https://osv.dev/GHSA-xvch-5gv4-984h9.8npmminimist1.2.5package-lock.json
https://osv.dev/GHSA-qrpm-p2h7-hrv25.5npmnanoid3.1.30package-lock.json
https://osv.dev/GHSA-r683-j2x4-v87g8.8npmnode-fetch2.6.5package-lock.json
https://osv.dev/GHSA-5rrq-pxf6-6jx5npmnode-forge0.10.0package-lock.json
https://osv.dev/GHSA-8fr3-hfg3-gpgp6.1npmnode-forge0.10.0package-lock.json
https://osv.dev/GHSA-gf8q-jrpm-jvxqnpmnode-forge0.10.0package-lock.json
https://osv.dev/GHSA-2r2c-g63r-vccr5.3npmnode-forge0.10.0package-lock.json
https://osv.dev/GHSA-cfm4-qjh2-47657.5npmnode-forge0.10.0package-lock.json
https://osv.dev/GHSA-x4jg-mjrx-434g7.5npmnode-forge0.10.0package-lock.json
https://osv.dev/GHSA-rp65-9cf3-cjxr7.5npmnth-check1.0.2package-lock.json
https://osv.dev/GHSA-3949-f494-cm997.5npmprismjs1.25.0package-lock.json
https://osv.dev/GHSA-hrpp-h998-j3pp7.5npmqs6.10.1package-lock.json
https://osv.dev/GHSA-hrpp-h998-j3pp7.5npmqs6.5.2package-lock.json
https://osv.dev/GHSA-hrpp-h998-j3pp7.5npmqs6.7.0package-lock.json
https://osv.dev/GHSA-c2qf-rxjj-qqgw5.3npmsemver5.7.1package-lock.json
https://osv.dev/GHSA-c2qf-rxjj-qqgw5.3npmsemver6.3.0package-lock.json
https://osv.dev/GHSA-c2qf-rxjj-qqgw5.3npmsemver7.0.0package-lock.json
https://osv.dev/GHSA-c2qf-rxjj-qqgw5.3npmsemver7.3.5package-lock.json
https://osv.dev/GHSA-g4rg-993r-mgx79.8npmshell-quote1.7.2package-lock.json
https://osv.dev/GHSA-wpg7-2c88-r8xv7.5npmsimple-get3.1.0package-lock.json
https://osv.dev/GHSA-4wf5-vphf-c2xc7.5npmterser4.8.0package-lock.json
https://osv.dev/GHSA-4wf5-vphf-c2xc7.5npmterser5.9.0package-lock.json
https://osv.dev/GHSA-72xf-g2v4-qvf36.5npmtough-cookie2.5.0package-lock.json
https://osv.dev/GHSA-72xf-g2v4-qvf36.5npmtough-cookie4.0.0package-lock.json
https://osv.dev/GHSA-w5p7-h5w8-2hfq7.5npmtrim0.0.1package-lock.json
https://osv.dev/GHSA-rqff-837h-mm525.3npmurl-parse1.5.3package-lock.json
https://osv.dev/GHSA-8v38-pw62-9cw26.5npmurl-parse1.5.3package-lock.json
https://osv.dev/GHSA-hgjh-723h-mx2j9.1npmurl-parse1.5.3package-lock.json
https://osv.dev/GHSA-jf5r-8hm2-f8726.5npmurl-parse1.5.3package-lock.json
https://osv.dev/GHSA-j8xg-fqg3-53r75.3npmword-wrap1.2.3package-lock.json

General Security Issues


Risk low

Hi @Varnent - Do you have any plan to mitigate these issues?

Looping in @SCampos-WMF and @CKoerner_WMF - Chris is lead on Diff, which may be impacted as well. Sara is new lead on the org's WordPress websites and I will be meeting with tomorrow about next steps.

Pinging @Varnent, @SCampos-WMF and @CKoerner_WMF again. With an overall risk rating of medium, we'll either need some acknowledgement of a mitigation plan to address these issues or the medium risk will be added to our risk register as being accepted by Lisa McCabe and/or @Ospingou per our current risk management framework.

Hey @sbassett, please apologize for the delayed response. We've created a ticket for Human Mande to enhance the security levels of their own plugins, and to get in touch with the third-party plugin developers to highlight the identified security vulnerabilities and request the necessary improvements. This is a top-priority item and is currently part of our ongoing Sprint. Our team is actively engaged in implementing the required security measures. Thanks for your understanding!

@SCampos-WMF - Sounds good. Until that work is completed, we will have an entry for a medium risk within our application security risk register, currently jointly owned by Lisa McCabe and Olga Spingou.

I am adding @SBisson to this ticket, for further visibility on WikiPreview security recommendations and action items.

Hi @SCampos-WMF - What's the progress on the remediation plan? Kindly provide an update so that we can prevent adding it to our risk registry. Thank you.

Hi @sbassett I see in the Wikipedia Preview analysis that a "Policy/Methods for reporting security issues" is missing and that is listed as medium. Could you advice on how to address this?

About the long list of vulnerable packages, this is a forever battle for our team. We have a monthly "npm audit" on all of our actively maintained products, that includes Wikipedia Preview, but these vulnerabilities seem to be coming out of nowhere often without any dependencies change on our side. We have started simplifying our build process to reduce the number of dependencies and hopefully decrease the auditing workload but we have yet to see the results.

thanks

Hi @sbassett I see in the Wikipedia Preview analysis that a "Policy/Methods for reporting security issues" is missing and that is listed as medium. Could you advice on how to address this?

So this would generally only concern upstream packages. If we see that there is no security policy set up within their github (or wherever) repo, then we generally determine that to be a medium risk. This is a check that we've borrowed verbatim from scorecard. There isn't much actionable here on the WMF's/Community's part, save submitting a PR or email to the upstream developers requesting that they create a security policy, SECURITY.md, etc. (See also).

About the long list of vulnerable packages, this is a forever battle for our team. We have a monthly "npm audit" on all of our actively maintained products, that includes Wikipedia Preview, but these vulnerabilities seem to be coming out of nowhere often without any dependencies change on our side. We have started simplifying our build process to reduce the number of dependencies and hopefully decrease the auditing workload but we have yet to see the results.

Yes, vulnerable dependencies are something we still check for during most security reviews, but we understand the issues for developers when it comes to actually addressing said vulnerabilities. We certainly do not expect that WMF/Community developers submit endless upstream pull/merge requests to address these issues. Nor do we expect developers to perform detailed reachability analyses to see if certain dependencies are indeed vulnerable within our codebases or not (on this front, we do have access to the semgrep's supply-chain tool, which is sometimes helpful in automating such determinations). Beyond that, we just ask that certain risks related to any vulnerable dependency findings be accepted by a manager or director, and that engineers follow the best practices you've essentially described above: due-diligence to fix vulnerable dependencies when feasible, writing more pure code that doesn't leverage numerous dependencies (especially for node/npm) and just general awareness around vulnerable dependencies, e.g. a dev dependency with an unreachable XSS versus a production dependency with very reachable authorization vulnerabilities.

Hi @SCampos-WMF - What's the progress on the remediation plan? Kindly provide an update so that we can prevent adding it to our risk registry. Thank you.

Hi team, thank you for the review! Following your recommendations, we've minimized the number of outdated and vulnerable dependencies and resolved the findings identified in the SAST files you provided. Additionally, we reached out to plugin developers to bring attention to the vulnerabilities and issues. Moving forward, our plan is to complete the remaining tasks associated with two plugins we maintain, HM Gutenberg Tools and Vega Lite, during our upcoming sprints in January and February. Additionally, we plan to update outdated plugins to versions released since our last sprint in December. For a more comprehensive breakdown, please review the details of each action we've taken below:

@mmartorana to answer your question:

One aspect I'm uncertain about is whether the Shiro theme currently in use is up to date. It appears that the current version is 1.0.0, while the latest available version is 1.1.3?

We actually do not use the Shiro theme available on WordPress, our theme is owned and maintained by us, it is called the same as the one you found. We will update its name to Wikimedia Shiro, to separate from the existing WordPress Shiro.

We have also deployed the first version of our Security Plugin, which was crafted based on the results of previous code reviews and recommendations you shared with us. This plugin, designed to consistently control and apply the same security changes to current and potential new Wikimedia WordPress projects, has been installed in the production environment on the WMF website. Currently, we are in the process of extending the deployment to Diff and the Endowment website. Additionally, we plan to deploy it on Messaging Guide and Techblog during the February and March sprints. The Security Plugin handles these cases:

  • Set CSP headers (customizable per-site in code, if sites should allow more or fewer supported origins)
  • Set a variety of other headers to achieve various security goals, like enforcing HTTPS connections, preventing clickjacking attacks, blocking MIME type sniffing, controlling referrer information sharing, and restricting permission policies for specific features.
  • Lock down anonymous REST API access
  • Disable Jetpack Blaze
  • Disable emoji by bundling the Disable Emoji plugin

Additionally, we have contacted plugin developers to request changes:

  • Wikipedia Preview (by Wikipedia): We shared the issues with the Inuka Team, and added @SBisson to this thread for more visibility.
  • Fieldmanager (by Alley Interactive): During our December Sprint, we shared with Alley Interactive’s development team the issues found in their code. They acknowledged the receipt of our request and mentioned they’ll review it. We plan to follow up with them this month. If they are unable to address the security issues for any reason, we plan to propose opening a pull request in their codebase, or writing a composer patch to fix the issue on our codebase as a last option.
  • Maintenance Mode WP (by Automattic / WordPress VIP): During our December Sprint, we shared with Automattic’s development team the issues found in their code. They acknowledged the receipt of our request and mentioned they’ll review it. We plan to follow up with them this month. If they are unable to address the security issues for any reason, we plan to propose opening a pull request in their codebase, or writing a composer patch to fix the issue on our codebase as a last option.

During January’s sprint we will update specific Composer-managed WordPress plugins to their latest versions:

Below, you will see what we've done so far and what we're planning to complete within Q3. Thank you for taking the time to review, we are looking forward to your comments:
PublishPress Permissions

  • Version: Up to date, we are using version 3.11.5.
  • No vulnerable NPM dependencies.
  • No code findings.
  • No action needed.

Safe-svg

  • Version: Up to date, we are using version 2.2.2.
  • No vulnerable NPM dependencies.
  • The latest release is believed to address the flagged issues.
  • No code findings.
  • No action needed.

Broken Link Checker

  • Version: Using version 2.2.3, we will update to the newest version 2.2.4 during January Sprint.
  • No vulnerable NPM dependencies.
  • The latest release is believed to address the flagged issues.
  • No code findings.
  • No action needed.

Co Authors Plus

  • Version: Up to date, we are using version 3.5.15.
  • No vulnerable NPM dependencies.
  • The disclosed vulnerabilities were not found.
  • No code findings.
  • No action needed.

Safe Redirect Manager

  • Version: Using version 2.1.0, we will update to the newest version 2.1.1 during January Sprint.
  • No vulnerable NPM dependencies.
  • No code findings.
  • No action needed.

Gravity Forms

  • Version: Using version 2.8.0, we will update to the newest version 2.8.1 during January Sprint.

Yoast SEO

  • Version: Using version 21.7, we will update to the newest version 21.8 during January Sprint.

Duplicate Page

  • We did not find this on the used plugins list.

Solved issues

Simple Editorial Comments

  • Version: Up to date, we are using version 0.1.1.
  • No vulnerable NPM dependencies

All actions were solved by Human Made team during November & December Sprints:

  • Fix all the SAST Audit code findings
  • Check if everything is working as expected
  • Publish a new release
  • Update to newest version 0.1.1

Issues: SAST Audit

  • .github/workflows/php-standards.yml
  • Line 25: uses: shivammathur/setup-php@2.7.0 - Third-party action not pinned to commit SHA (Details)
  • .github/workflows/release.yml
  • Line 22: uses: technote-space/release-github-actions@v7 - Third-party action not pinned to commit SHA (Details)

Asset Loader

  • Version: We are using version 0.6.4, we will update to the newest version 0.7.0 during January Sprint.
  • No vulnerable dependencies

All actions were solved by Human Made team during November & December Sprints:

  • Fix all the SAST Audit code findings
  • Check if everything is working as expected
  • Publish a new release
  • Update to newest version 0.6.4

Issues: SAST Audit

  • .github/workflows/deploy-docs.yml
  • Line 27: ruby/setup-ruby@v1 - Third-party action not pinned to commit SHA (Details)
  • docs/404.html
  • Line 11: Template variable in 'href' attribute - Risk of XSS attack via 'javascript:' URI (Details)
  • Line 11: Template variable in 'href' attribute - XSS risk (Details1 Details2)

In progress, will be solved during Q3 Sprints
Gf-hcaptcha

  • Version: Up to date, we are using version 1.3.1
  • No vulnerable NPM dependencies
  • No code findings
  • No action needed

The overall maintenance score, considering factors such as total reviews, code frequency, recent contributions to code, active developers, current overall usage, and issues resolved in the last two months, is not satisfactory. While these issues may not be code vulnerabilities, we recognize that they erode our trust in this plugin. Our mitigation plan is to explore alternative options during Q3 that meet our requirements and have a better maintenance record. We will share more about this in the coming months.

Vega Lite

  • Needs update (using 0.2.1)

Solved and pending actions by Human Made team:

  • Fix all the SAST Audit code findings
  • Upgrade and check the vulnerable NPM dependencies
  • Check if everything is working as expected
  • Publish a new release
  • Update to newest version 0.3.0

Issues: SAST Audit

  • .github/workflows/php-standards.yml
  • Line 25: shivammathur/setup-php@2.7.0 - Third-party action not pinned to commit SHA (Details)
  • .github/workflows/release.yml
  • Line 22: technote-space/release-github-actions@v7 - Third-party action not pinned to commit SHA (Details)
  • assets/vega-embed.6.20.2.js- Potentially fixed, this will require another SAST scan to confirm it's fixed.
  • Use of RegExp with a t function argument - Potential Regular Expression Denial-of-Service (ReDoS) (Details)
  • Use of RegExp with a e function argument - Potential Regular Expression Denial-of-Service (ReDoS) (Details)
  • Prototype pollution possibility detected via c=c[g] (Details)
  • assets/vega-lite.5.2.0.js - Potentially fixed, this will require another SAST scan to confirm it's fixed.
  • Use of RegExp with a c function argument - Potential Regular Expression Denial-of-Service (ReDoS) (Details)
  • Use of RegExp with a t function argument - Potential Regular Expression Denial-of-Service (ReDoS) (Details)

Vulnerable NPM dependencies

HM Gutenberg Tools

  • Version: Using version 1.7.2, we will update to the newest version 1.7.3 during January Sprint.

Solved and pending actions by Human Made team:

  • Fix all the SAST Audit code findings
  • Upgrade and check the vulnerable NPM dependencies
  • Check if everything is working as expected
  • Publish a new release
  • Update to newest version 1.7.2
  • Upgrade vulnerable transitive dependencies

Issues: SAST Audit

  • js/post-select/components/post-list-item.js
  • Line 30: Use of dangerouslySetInnerHTML with post.title.rendered - Potential XSS risk (Details)
  • js/post-select/components/selection-item.js
  • Line 27: Use of dangerouslySetInnerHTML with post.title.rendered - Potential XSS risk (Details)

Vulnerable NPM dependencies

Hi @SCampos-WMF - Thanks for letting us know. The security posture is improved, and I see that you have a plan to address the remaining issues. I can now assign a low risk score.

Please keep us informed, and feel free to reach out if you require further assistance.

sbassett moved this task from Waiting to Our Part Is Done on the secscrum board.

Thank you @mmartorana! We will keep you informed once we finish deploying the updates!

sbassett changed the visibility from "Custom Policy" to "Public (No Login Required)".Mon, Apr 8, 6:12 PM
sbassett changed the edit policy from "Custom Policy" to "All Users".
sbassett changed Risk Rating from N/A to Low.