A High severity security vulnerability was discovered in the Lo-dash version (1.3.0) embedded in Discourse, as reported by Google’s Lighthouse analysis. The vulnerability was confirmed by Ed_S and Ed_S later found that even after updating Lo-dash to version 4.17.5, two vulnerabilities, including the high severity one, still exist. The fix is available in version 4.17.11. sam updated Lo-dash and reduced the surface area by building a custom version. However, Stephen and Falco raised concerns about potential functionality changes and the need for plugin developers to review and migrate to vanilla JavaScript. joffreyjaffeux has fixed the issue by installing Lo-dash 4.17.11 from the GitHub repository, and the fix is available in the Discourse pull request.
Discourse embeds a custom copy of 1.3.0 version of lo-dash.
Google’s lighthouse analysis reports 4 security vulnerabilities on my up-to-date Discourse instance, 3 of which are in lo-dash and one of which is marked as High severity.
@j.jaffeux just updated lodash and also reduced our surface area quite a lot by building a custom hand curated lodash that only includes a subset of function on offer that we use.
If you consider the huge jump in the version number, it should have changed a number of method signatures. Since it’s Lodash, developers should review the need and migrate to vanilla js whenever possible.
Hmm - I reran the report on lighthouse (pointing at this site), and it sees lo-dash now at version 4.17.5, which is a great deal newer but still has 2 vulnerabilities including the high severity one. It looks like the fix is in 4.17.11, according to