[Snyk] Upgrade: mathjax-full, typescript, vm2 #34
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Snyk has created this PR to upgrade multiple dependencies.
👯 The following dependencies are linked and will therefore be updated together.ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
mathjax-full
from 3.2.0 to 3.2.2 | 2 versions ahead of your current version | 2 years ago
on 2022-06-08
typescript
from 4.6.2 to 4.9.5 | 261 versions ahead of your current version | 2 years ago
on 2023-01-30
vm2
from 3.9.9 to 3.9.19 | 10 versions ahead of your current version | a year ago
on 2023-05-16
Issues fixed by the recommended upgrade:
SNYK-JS-VM2-2990237
SNYK-JS-VM2-3018201
SNYK-JS-VM2-5415299
SNYK-JS-VM2-5422057
SNYK-JS-VM2-5426093
SNYK-JS-VM2-5537079
SNYK-JS-VM2-5537100
Release notes
Package name: mathjax-full
This is a hot-fix release to correct three issues in the recent 3.2.1 release. These are listed below:
Prevent lazy typesetting from re-typeset expressions unnecessarily, which can cause duplicate-label error messages in the output, and degrade performance. (mathjax/MathJax#2873)
Improve method for obtaining the
<math>
element frommml3
conversion, allowing it to work better in an XHTML setting. (mathjax/MathJax#2879)Make
version.ts
use a constant and create the file during the build process rather than dynamically determining the version. This allows easier packaging of MathJax into other applications. (#824)This is mostly a bug-fix release, resolving various display and input bugs and other issues. See the individual bugs linked below for more details, and the 3.2.1 milestone for the pull requests involved in this release.
New Features in this Release
Speech-Rule Engine
MathJax now integrates version 4 of Speech Rule Engine (SRE). (#800)
.json
extension. (mathjax/MathJax#2403)For more details and a full list of all changes and additions see the SRE release notes.
MathJax makes use of SRE v4 new features in the following ways:
sre.ts
module now imports and exports exclusively API methods necessary for SRE's use in MathJaxmathmaps.ts
module provides a map for directly integrating and bundling locales (see more below).sre
component undercomponents/src/sre
now simply handles copying the locale files in themathmaps
directory.a11y/sre
component undercomponents/src/sre
contains a configuration filesre_config.js
that sets up the basic SRE configuration for MathJax, especially the correct path to themathmaps
folder (online or in the npm distribution).components/src/tex-chtml-full-speech
component as an example.sre
path in MathJax is now used exclusively for pointing to a directory containing the locale files.Most of these changes are internal and should remain unnoticeable. However, there are a couple of points to note when using SRE via MathJax:
SRE
namespace, and additionally, the full functionality was reachable in the browser through thesre
namespace.NEW: Now only the explicitly exported API methods are available to import via the
a11y/sre
component.* OLD: You could easily change the version of SRE MathJax would use by:
sre_browser.js
using thesre
path in the MathJax configuration, andspeech-rule-engine
package with a different version in thenode_modules
folder.NEW: This is no longer possible.
sreReady
method is still exported but deprecated. In the future, you should use the corresponding method in the API bundleSre.sreReady()
..json
files via XML-HTTP-request in the browser, or via file loading in the node module. However, it is now possible to pre-bundle (some) locales directly into a custom distribution using webpack, which is particularly useful if you want to run MathJax offline while still using the full power of is assistive technology extension. See thetex-chtml-full-speech
component as an example.Output Improvements
Lazy Typesetting
Bugs Addressed in this Release
Output Bug Fixes
Update svg output to properly handle token elements with multiple child nodes. (mathjax/MathJax#2836)
Include CSS to reset border-collapse in CHTML output. (mathjax/MathJax#2861)
Prevent CHTML adaptive CSS from adding character CSS multiple times. (#796)
Make sure all character data is included when adaptiveCSS is false. (mathjax/MathJax#2724)
Place super- and subscripts properly around
\vcenter
elements. (#787)Add a minimum height for accented characters. (mathjax/MathJax#2766)
Take relative scaling into account for CHTML output of non-MathJax fonts. (mathjax/MathJax#2818)
Fix placement of surd when root extends above the top of the root. (mathjax/MathJax#2764)
Fix problem with
msubsup
when subscript is blank (mathjax/MathJax#2765)TeX Input Fixes
Add
\textup
and\textnormal
to macros allowed bytextmacros
. (mathjax/MathJax#2846)Update
\operatorname
to work more like in LaTeX. (mathjax/MathJax#2830)Have physics package match nested parentheses, fix spacing issues. (mathjax/MathJax#2760, mathjax/MathJax#2831)
Re-implement
\sideset
usingmmultiscripts
. (mathjax/MathJax#1217)Fix problem where errors during
mhchem
argument collection are not properly handled. (mathjax/MathJax#2835)Update XSLT to produce better results in
mml3
extension. (#785)Add ability for TeX input to force normal variant for CJK input. (mathjax/MathJax#2744)
Make sure math-in-text forms an ORD atom within
textmacros
. (mathjax/MathJax#2828)Make sure explicit attributes added by
\mmlToken
are not removed. (mathjax/MathJax#2806)Fix typo in
\DeclarePairedDelimiter
macros, and substitute arguments in pre and post sections. (mathjax/MathJax#2816, mathjax/MathJax#2758)Mark
mo
as not an accent if used in\overset
and friends. (mathjax/MathJax#2800)MathML Input Fixes
Fix problems with verification and repair of malformed mtables. (#779)
Add support for
mglyph
use offontfamily
/index
. (mathjax/MathJax#2298)Trim MathML string before parsing it. (mathjax/MathJax#2805)
Only process MJX-TeXAtom classes on
mrow
elements. (mathjax/MathJax#2822)Move
mml3
filter to anmmlFilter
so thatforceReparse
isn't needed. (mathjax/MathJax#2718)Make U+2061 through U+2064 have TeX class NONE so they don't affect spacing. (#806)
Miscenaleous
Handle documents better when created by parsing in XHTML. (mathjax/MathJax#2788)
Add version numbers to component files and check them when loaded. (#738)
Fix problem where some menu settings weren't sticky (mathjax/MathJax#2786)
Add a
linkedom
adaptor (mathjax/MathJax#2833)Refactor usage of all-packages to reduce redundant code in components. (#784)
Make variables local in legacy AsciiMath code. (mathjax/MathJax#2748)
Make safe extension properly handle scriptlevel of 0. (mathjax/MathJax#2745)
Update webpack files for empheq and cases. (mathjax/MathJax#2762)
Update build tools to work with extensions better. (#737)
Add
defaultPageReady()
toMathJaxObject
interface. (#746)Package name: typescript
Package name: vm2
Fixes
cfa3fc6: Fix resolver issue.
New Features
dd81ff6: Add resolver API to create a shared resolver for multiple
NodeVM
instances allowing to cache scripts and increase sandbox startup times.4d662e3: Allow to pass a function to
require.context
which is called with the filename allowing to specify the context pre file. (Thanks to @ blakebyrnes)Fixes
d88105f: Fix issue leaking host array through
Proxy
. (Thanks to @ arkark (Takeshi Kaneko) of GMO Cybersecurity by Ierae, Inc.)5206ba2: Fix issue with
inspect
being writeable. (Thanks to @ arkark (Takeshi Kaneko) of GMO Cybersecurity by Ierae, Inc.)Fixes
4b22e87: Fix issue in catch block protection. (Thanks to Xion (SeungHyun Lee) of KAIST Hacking Lab.)
f3db4de: Fix issue with host exceptions thrown in async functions leaking though the Promise.
Fixes
24c724d: Fix issue in transformer issue by reworking replacement logic. (Thanky to Xion (SeungHyun Lee) of KAIST Hacking Lab.)
Fixes
d534e57: Ensure no host objects are passed through to
Error.prepareStackTrace
. (Thanky to Seongil Wi from KAIST WSP Lab)Fixes
fe3ab68: Support conditional export resolution with custom resolver (thanks to nick-klaviyo).
Fixes
1c365f7: Fix typescript error in
index.d.ts
.New Features
81f625d: Add file system API.
Fixes
442feea: Fix parsing error with object pattern in catch clause.
New Features
58478a5: Add option
require.strict
to allow to load required modules in non strict mode.Fixes
d9a7f3c: Security fix.
New Features
61d240f: Add
uptime
toprocess
.Fixes
e3e573f: Security fix.
245da82: Fix inspect
showProxy
.Important
Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
[//]: # 'snyk:metadata:{"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"mathjax-full","from":"3.2.0","to":"3.2.2"},{"name":"typescript","from":"4.6.2","to":"4.9.5"},{"name":"vm2","from":"3.9.9","to":"3.9.19"}],"env":"prod","hasFixes":true,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[{"exploit_maturity":"proof-of-concept","id":"SNYK-JS-VM2-2990237","issue_id":"SNYK-JS-VM2-2990237","priority_score":811,"priority_score_factors":[{"type":"exploit","label":"Proof of Concept","score":107},{"type":"fixability","label":true,"score":214},{"type":"cvssScore","label":"9.8","score":490},{"type":"scoreVersion","label":"v1","score":1}],"severity":"critical","title":"Arbitrary Code Execution"},{"exploit_maturity":"proof-of-concept","id":"SNYK-JS-VM2-3018201","issue_id":"SNYK-JS-VM2-3018201","priority_score":816,"priority_score_factors":[{"type":"exploit","label":"Proof of Concept","score":107},{"type":"fixability","label":true,"score":214},{"type":"cvssScore","label":"9.9","score":495},{"type":"scoreVersion","label":"v1","score":1}],"severity":"critical","title":"Sandbox Bypass"},{"exploit_maturity":"proof-of-concept","id":"SNYK-JS-VM2-5415299","issue_id":"SNYK-JS-VM2-5415299","priority_score":816,"priority_score_factors":[{"type":"exploit","label":"Proof of Concept","score":107},{"type":"fixability","label":true,"score":214},{"type":"cvssScore","label":"9.9","score":495},{"type":"scoreVersion","label":"v1","score":1}],"severity":"critical","title":"Sandbox Escape"},{"exploit_maturity":"proof-of-concept","id":"SNYK-JS-VM2-5422057","issue_id":"SNYK-JS-VM2-5422057","priority_score":811,"priority_score_factors":[{"type":"exploit","label":"Proof of Concept","score":107},{"type":"fixability","label":true,"score":214},{"type":"cvssScore","label":"9.8","score":490},{"type":"scoreVersion","label":"v1","score":1}],"severity":"critical","title":"Sandbox Escape"},{"exploit_maturity":"no-known-exploit","id":"SNYK-JS-VM2-5426093","issue_id":"SNYK-JS-VM2-5426093","priority_score":704,"priority_score_factors":[{"type":"fixability","label":true,"score":214},{"type":"cvssScore","label":"9.8","score":490},{"type":"scoreVersion","label":"v1","score":1}],"severity":"critical","title":"Improper Handling of Exceptional Conditions"},{"exploit_maturity":"proof-of-concept","id":"SNYK-JS-VM2-5537079","issue_id":"SNYK-JS-VM2-5537079","priority_score":586,"priority_score_factors":[{"type":"exploit","label":"Proof of Concept","score":107},{"type":"fixability","label":true,"score":214},{"type":"cvssScore","label":"5.3","score":265},{"type":"scoreVersion","label":"v1","score":1}],"severity":"medium","title":"Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')"},{"exploit_maturity":"proof-of-concept","id":"SNYK-JS-VM2-5537100","issue_id":"SNYK-JS-VM2-5537100","priority_score":811,"priority_score_factors":[{"type":"exploit","label":"Proof of Concept","score":107},{"type":"fixability","label":true,"score":214},{"type":"cvssScore","label":"9.8","score":490},{"type":"scoreVersion","label":"v1","score":1}],"severity":"critical","title":"Sandbox Bypass"}],"prId":"39dd58c1-0c97-4aff-96d5-cb8668ffe8ed","prPublicId":"39dd58c1-0c97-4aff-96d5-cb8668ffe8ed","packageManager":"npm","priorityScoreList":[811,816,816,811,704,586,811],"projectPublicId":"d5036e32-bca5-4e36-b958-25c2631f3737","projectUrl":"https://app.snyk.io/org/samul-1/project/d5036e32-bca5-4e36-b958-25c2631f3737?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":["priorityScore"],"type":"auto","upgrade":["SNYK-JS-VM2-2990237","SNYK-JS-VM2-3018201","SNYK-JS-VM2-5415299","SNYK-JS-VM2-5422057","SNYK-JS-VM2-5426093","SNYK-JS-VM2-5537079","SNYK-JS-VM2-5537100"],"upgradeInfo":{"versionsDiff":2,"publishedDate":"2022-06-08T17:29:04.841Z"},"vulns":["SNYK-JS-VM2-2990237","SNYK-JS-VM2-3018201","SNYK-JS-VM2-5415299","SNYK-JS-VM2-5422057","SNYK-JS-VM2-5426093","SNYK-JS-VM2-5537079","SNYK-JS-VM2-5537100"]}'