-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix missing node modules for theme #156
Conversation
Overview
Labels (3 changes)
-org.opencontainers.image.created=2024-08-12T04:28:53.166Z
+org.opencontainers.image.created=2024-08-15T01:35:18.905Z
org.opencontainers.image.description=Cmfive in a docker image
org.opencontainers.image.licenses=GPL-3.0
-org.opencontainers.image.revision=d84fa237537b25a5b7d52239be0b9558db57c098
+org.opencontainers.image.revision=ae5ff591297c9f03bbc656eb394d5382353d6567
org.opencontainers.image.source=https://github.com/2pisoftware/cmfive-boilerplate
org.opencontainers.image.title=Cmfive
org.opencontainers.image.url=https://github.com/2pisoftware/cmfive-boilerplate
org.opencontainers.image.vendor=2pisoftware
-org.opencontainers.image.version=develop
+org.opencontainers.image.version=pr-156 Packages and Vulnerabilities (823 package changes and 11 vulnerability changes)
Changes for packages of type
|
Package | Versionghcr.io/2pisoftware/cmfive:develop |
Versionghcr.io/2pisoftware/cmfive:pr-156 |
|
---|---|---|---|
➕ | Notifu | 1.7 |
|
➕ | notifu | 1.7 |
🔍 Vulnerabilities of
|
digest | sha256:9f97d35d6662d5ae9c0e78189d255811fba032664128d7517deaa5edc1d4e5dc |
vulnerabilities | |
size | 374 MB |
packages | 1107 |
📦 Base Image alpine:3.19
also known as |
|
digest | sha256:8d733e27df31ac40ec64633002a200a0aed5477866730e0bfeb8d2dec5d8e76a |
vulnerabilities |
babel-traverse
|
Affected range | <7.23.2 |
Fixed version | Not Fixed |
CVSS Score | 9.3 |
CVSS Vector | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
EPSS Score | 0.06% |
EPSS Percentile | 26th percentile |
Description
Impact
Using Babel to compile code that was specifically crafted by an attacker can lead to arbitrary code execution during compilation, when using plugins that rely on the
path.evaluate()
orpath.evaluateTruthy()
internal Babel methods.Known affected plugins are:
@babel/plugin-transform-runtime
@babel/preset-env
when using itsuseBuiltIns
option- Any "polyfill provider" plugin that depends on
@babel/helper-define-polyfill-provider
, such asbabel-plugin-polyfill-corejs3
,babel-plugin-polyfill-corejs2
,babel-plugin-polyfill-es-shims
,babel-plugin-polyfill-regenerator
No other plugins under the
@babel/
namespace are impacted, but third-party plugins might be.Users that only compile trusted code are not impacted.
Patches
The vulnerability has been fixed in
@babel/traverse@7.23.2
.Babel 6 does not receive security fixes anymore (see Babel's security policy), hence there is no patch planned for
babel-traverse@6
.Workarounds
- Upgrade
@babel/traverse
to v7.23.2 or higher. You can do this by deleting it from your package manager's lockfile and re-installing the dependencies.@babel/core
>=7.23.2 will automatically pull in a non-vulnerable version.- If you cannot upgrade
@babel/traverse
and are using one of the affected packages mentioned above, upgrade them to their latest version to avoid triggering the vulnerable code path in affected@babel/traverse
versions:
@babel/plugin-transform-runtime
v7.23.2@babel/preset-env
v7.23.2@babel/helper-define-polyfill-provider
v0.4.3babel-plugin-polyfill-corejs2
v0.4.6babel-plugin-polyfill-corejs3
v0.8.5babel-plugin-polyfill-es-shims
v0.10.0babel-plugin-polyfill-regenerator
v0.5.3
setuptools 68.2.2
(pypi)
pkg:pypi/setuptools@68.2.2
# Dockerfile (100:100)
COPY /.codepipeline/docker/configs/fpm/ /etc/php81/
Improper Control of Generation of Code ('Code Injection')
Affected range | <70.0.0 |
Fixed version | 70.0.0 |
CVSS Score | 8.8 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
EPSS Score | 0.04% |
EPSS Percentile | 9th percentile |
Description
A vulnerability in the
package_index
module of pypa/setuptools versions up to 69.1.1 allows for remote code execution via its download functions. These functions, which are used to download packages from URLs provided by users or retrieved from package index servers, are susceptible to code injection. If these functions are exposed to user-controlled inputs, such as package URLs, they can execute arbitrary commands on the system. The issue is fixed in version 70.0.
webpack-dev-middleware 5.3.3
(npm)
pkg:npm/webpack-dev-middleware@5.3.3
# Dockerfile (132:135)
COPY --chown=cmfive:cmfive \
--from=core \
/cmfive-core/system/templates/base/node_modules \
system/templates/base/node_modules
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Affected range | <=5.3.3 |
Fixed version | 5.3.4 |
CVSS Score | 7.4 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N |
EPSS Score | 0.04% |
EPSS Percentile | 14th percentile |
Description
Summary
The webpack-dev-middleware middleware does not validate the supplied URL address sufficiently before returning the local file. It is possible to access any file on the developer's machine.
Details
The middleware can either work with the physical filesystem when reading the files or it can use a virtualized in-memory memfs filesystem.
If writeToDisk configuration option is set to true, the physical filesystem is used:
https://github.com/webpack/webpack-dev-middleware/blob/7ed24e0b9f53ad1562343f9f517f0f0ad2a70377/src/utils/setupOutputFileSystem.js#L21The getFilenameFromUrl method is used to parse URL and build the local file path.
The public path prefix is stripped from the URL, and the unsecaped path suffix is appended to the outputPath:
https://github.com/webpack/webpack-dev-middleware/blob/7ed24e0b9f53ad1562343f9f517f0f0ad2a70377/src/utils/getFilenameFromUrl.js#L82
As the URL is not unescaped and normalized automatically before calling the midlleware, it is possible to use %2e and %2f sequences to perform path traversal attack.PoC
A blank project can be created containing the following configuration file webpack.config.js:
module.exports = { devServer: { devMiddleware: { writeToDisk: true } } };
When started, it is possible to access any local file, e.g. /etc/passwd:
$ curl localhost:8080/public/..%2f..%2f..%2f..%2f../etc/passwd
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin
Impact
The developers using webpack-dev-server or webpack-dev-middleware are affected by the issue. When the project is started, an attacker might access any file on the developer's machine and exfiltrate the content (e.g. password, configuration files, private source code, ...).
If the development server is listening on a public IP address (or 0.0.0.0), an attacker on the local network can access the local files without any interaction from the victim (direct connection to the port).
If the server allows access from third-party domains (CORS, Allow-Access-Origin: * ), an attacker can send a malicious link to the victim. When visited, the client side script can connect to the local server and exfiltrate the local files.
Recommendation
The URL should be unescaped and normalized before any further processing.
twig/twig 3.3.10
(composer)
pkg:composer/twig/twig@3.3.10
# Dockerfile (123:123)
RUN su cmfive -c 'INSTALL_ENV=docker php cmfive.php install core'
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Affected range | >=3.0.0 |
Fixed version | 3.4.3 |
CVSS Score | 7.5 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
EPSS Score | 0.33% |
EPSS Percentile | 71st percentile |
Description
Description
When using the filesystem loader to load templates for which the name is a user input, it is possible to use the
source
orinclude
statement to read arbitrary files from outside the templates directory when using a namespace like@somewhere/../some.file
(in such a case, validation is bypassed).Resolution
We fixed validation for such template names.
Even if the 1.x branch is not maintained anymore, a new version has been released.
Credits
We would like to thank Dariusz Tytko for reporting the issue and Fabien Potencier for fixing the issue.
chart.js 2.5.0
(npm)
pkg:npm/chart.js@2.5.0
# Dockerfile (123:123)
RUN su cmfive -c 'INSTALL_ENV=docker php cmfive.php install core'
Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
Affected range | <2.9.4 |
Fixed version | 2.9.4 |
CVSS Score | 7.5 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
EPSS Score | 1.80% |
EPSS Percentile | 88th percentile |
Description
This affects the package chart.js before 2.9.4. The options parameter is not properly sanitized when it is processed. When the options are processed, the existing options (or the defaults options) are deeply merged with provided options. However, during this operation, the keys of the object being set are not checked, leading to a prototype pollution.
braces 3.0.2
(npm)
pkg:npm/braces@3.0.2
# Dockerfile (132:135)
COPY --chown=cmfive:cmfive \
--from=core \
/cmfive-core/system/templates/base/node_modules \
system/templates/base/node_modules
Excessive Platform Resource Consumption within a Loop
Affected range | <3.0.3 |
Fixed version | 3.0.3 |
CVSS Score | 7.5 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
EPSS Score | 0.04% |
EPSS Percentile | 16th percentile |
Description
The NPM package
braces
fails to limit the number of characters it can handle, which could lead to Memory Exhaustion. Inlib/parse.js,
if a malicious user sends "imbalanced braces" as input, the parsing will enter a loop, which will cause the program to start allocating heap memory without freeing it at any moment of the loop. Eventually, the JavaScript heap limit is reached, and the program will crash.
ws 8.14.2
(npm)
pkg:npm/ws@8.14.2
# Dockerfile (132:135)
COPY --chown=cmfive:cmfive \
--from=core \
/cmfive-core/system/templates/base/node_modules \
system/templates/base/node_modules
Affected range | >=8.0.0 |
Fixed version | 8.17.1 |
CVSS Score | 7.5 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
EPSS Score | 0.04% |
EPSS Percentile | 14th percentile |
Description
Impact
A request with a number of headers exceeding the
server.maxHeadersCount
threshold could be used to crash a ws server.Proof of concept
const http = require('http'); const WebSocket = require('ws'); const wss = new WebSocket.Server({ port: 0 }, function () { const chars = "!#$%&'*+-.0123456789abcdefghijklmnopqrstuvwxyz^_`|~".split(''); const headers = {}; let count = 0; for (let i = 0; i < chars.length; i++) { if (count === 2000) break; for (let j = 0; j < chars.length; j++) { const key = chars[i] + chars[j]; headers[key] = 'x'; if (++count === 2000) break; } } headers.Connection = 'Upgrade'; headers.Upgrade = 'websocket'; headers['Sec-WebSocket-Key'] = 'dGhlIHNhbXBsZSBub25jZQ=='; headers['Sec-WebSocket-Version'] = '13'; const request = http.request({ headers: headers, host: '127.0.0.1', port: wss.address().port }); request.end(); });Patches
The vulnerability was fixed in ws@8.17.1 (websockets/ws@e55e510) and backported to ws@7.5.10 (websockets/ws@22c2876), ws@6.2.3 (websockets/ws@eeb76d3), and ws@5.2.4 (websockets/ws@4abd8f6)
Workarounds
In vulnerable versions of ws, the issue can be mitigated in the following ways:
- Reduce the maximum allowed length of the request headers using the
--max-http-header-size=size
and/or themaxHeaderSize
options so that no more headers than theserver.maxHeadersCount
limit can be sent.- Set
server.maxHeadersCount
to0
so that no limit is applied.Credits
The vulnerability was reported by Ryan LaPointe in websockets/ws#2230.
References
json5 0.5.1
(npm)
pkg:npm/json5@0.5.1
# Dockerfile (132:135)
COPY --chown=cmfive:cmfive \
--from=core \
/cmfive-core/system/templates/base/node_modules \
system/templates/base/node_modules
Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
Affected range | <1.0.2 |
Fixed version | 1.0.2 |
CVSS Score | 7.1 |
CVSS Vector | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H |
EPSS Score | 0.67% |
EPSS Percentile | 80th percentile |
Description
The
parse
method of the JSON5 library before and including version2.2.1
does not restrict parsing of keys named__proto__
, allowing specially crafted strings to pollute the prototype of the resulting object.This vulnerability pollutes the prototype of the object returned by
JSON5.parse
and not the global Object prototype, which is the commonly understood definition of Prototype Pollution. However, polluting the prototype of a single object can have significant security impact for an application if the object is later used in trusted operations.Impact
This vulnerability could allow an attacker to set arbitrary and unexpected keys on the object returned from
JSON5.parse
. The actual impact will depend on how applications utilize the returned object and how they filter unwanted keys, but could include denial of service, cross-site scripting, elevation of privilege, and in extreme cases, remote code execution.Mitigation
This vulnerability is patched in json5 v2.2.2 and later. A patch has also been backported for json5 v1 in versions v1.0.2 and later.
Details
Suppose a developer wants to allow users and admins to perform some risky operation, but they want to restrict what non-admins can do. To accomplish this, they accept a JSON blob from the user, parse it using
JSON5.parse
, confirm that the provided data does not set some sensitive keys, and then performs the risky operation using the validated data:const JSON5 = require('json5'); const doSomethingDangerous = (props) => { if (props.isAdmin) { console.log('Doing dangerous thing as admin.'); } else { console.log('Doing dangerous thing as user.'); } }; const secCheckKeysSet = (obj, searchKeys) => { let searchKeyFound = false; Object.keys(obj).forEach((key) => { if (searchKeys.indexOf(key) > -1) { searchKeyFound = true; } }); return searchKeyFound; }; const props = JSON5.parse('{"foo": "bar"}'); if (!secCheckKeysSet(props, ['isAdmin', 'isMod'])) { doSomethingDangerous(props); // "Doing dangerous thing as user." } else { throw new Error('Forbidden...'); }If the user attempts to set the
isAdmin
key, their request will be rejected:const props = JSON5.parse('{"foo": "bar", "isAdmin": true}'); if (!secCheckKeysSet(props, ['isAdmin', 'isMod'])) { doSomethingDangerous(props); } else { throw new Error('Forbidden...'); // Error: Forbidden... }However, users can instead set the
__proto__
key to{"isAdmin": true}
.JSON5
will parse this key and will set theisAdmin
key on the prototype of the returned object, allowing the user to bypass the security check and run their request as an admin:const props = JSON5.parse('{"foo": "bar", "__proto__": {"isAdmin": true}}'); if (!secCheckKeysSet(props, ['isAdmin', 'isMod'])) { doSomethingDangerous(props); // "Doing dangerous thing as admin." } else { throw new Error('Forbidden...'); }
jquery-ui 1.10.4
(npm)
pkg:npm/jquery-ui@1.10.4
# Dockerfile (123:123)
RUN su cmfive -c 'INSTALL_ENV=docker php cmfive.php install core'
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Affected range | <1.13.0 |
Fixed version | 1.13.0 |
CVSS Score | 6.5 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N |
EPSS Score | 0.45% |
EPSS Percentile | 76th percentile |
Description
Impact
Accepting the value of the
of
option of the.position()
util from untrusted sources may execute untrusted code. For example, invoking the following code:$( "#element" ).position( { my: "left top", at: "right bottom", of: "<img onerror='doEvilThing()' src='/404' />", collision: "none" } );will call the
doEvilThing()
function.Patches
The issue is fixed in jQuery UI 1.13.0. Any string value passed to the
of
option is now treated as a CSS selector.Workarounds
A workaround is to not accept the value of the
of
option from untrusted sources.For more information
If you have any questions or comments about this advisory, search for a relevant issue in the jQuery UI repo. If you don't find an answer, open a new issue.
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Affected range | <1.13.0 |
Fixed version | 1.13.0 |
CVSS Score | 6.5 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N |
EPSS Score | 0.31% |
EPSS Percentile | 70th percentile |
Description
Impact
Accepting the value of various
*Text
options of the Datepicker widget from untrusted sources may execute untrusted code. For example, initializing the datepicker in the following way:$( "#datepicker" ).datepicker( { showButtonPanel: true, showOn: "both", closeText: "<script>doEvilThing( 'closeText XSS' )</script>", currentText: "<script>doEvilThing( 'currentText XSS' )</script>", prevText: "<script>doEvilThing( 'prevText XSS' )</script>", nextText: "<script>doEvilThing( 'nextText XSS' )</script>", buttonText: "<script>doEvilThing( 'buttonText XSS' )</script>", appendText: "<script>doEvilThing( 'appendText XSS' )</script>", } );will call
doEvilThing
with 6 different parameters coming from all*Text
options.Patches
The issue is fixed in jQuery UI 1.13.0. The values passed to various
*Text
options are now always treated as pure text, not HTML.Workarounds
A workaround is to not accept the value of the
*Text
options from untrusted sources.For more information
If you have any questions or comments about this advisory, search for a relevant issue in the jQuery UI repo. If you don't find an answer, open a new issue.
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Affected range | <1.13.0 |
Fixed version | 1.13.0 |
CVSS Score | 6.5 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N |
EPSS Score | 0.28% |
EPSS Percentile | 69th percentile |
Description
Impact
Accepting the value of the
altField
option of the Datepicker widget from untrusted sources may execute untrusted code. For example, initializing the datepicker in the following way:$( "#datepicker" ).datepicker( { altField: "<img onerror='doEvilThing()' src='/404' />", } );will call the
doEvilThing
function.Patches
The issue is fixed in jQuery UI 1.13.0. Any string value passed to the
altField
option is now treated as a CSS selector.Workarounds
A workaround is to not accept the value of the
altField
option from untrusted sources.For more information
If you have any questions or comments about this advisory, search for a relevant issue in the jQuery UI repo. If you don't find an answer, open a new issue.
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Affected range | <1.13.2 |
Fixed version | 1.13.2 |
CVSS Score | 6.1 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
EPSS Score | 0.22% |
EPSS Percentile | 61st percentile |
Description
Impact
Initializing a checkboxradio widget on an input enclosed within a label makes that parent label contents considered as the input label. If you call
.checkboxradio( "refresh" )
on such a widget and the initial HTML contained encoded HTML entities, they will erroneously get decoded. This can lead to potentially executing JavaScript code.For example, starting with the following initial secure HTML:
<label> <input id="test-input"> <img src=x onerror="alert(1)"> </label>and calling:
$( "#test-input" ).checkboxradio(); $( "#test-input" ).checkboxradio( "refresh" );will turn the initial HTML into:
<label> <!-- some jQuery UI elements --> <input id="test-input"> <img src=x onerror="alert(1)"> </label>and the alert will get executed.
Patches
The bug has been patched in jQuery UI 1.13.2.
Workarounds
To remediate the issue, if you can change the initial HTML, you can wrap all the non-input contents of the
label
in aspan
:<label> <input id="test-input"> <span><img src=x onerror="alert(1)"></span> </label>References
https://blog.jqueryui.com/2022/07/jquery-ui-1-13-2-released/
For more information
If you have any questions or comments about this advisory, search for a relevant issue in the jQuery UI repo. If you don't find an answer, open a new issue.
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Affected range | <1.12.0 |
Fixed version | 1.12.0 |
CVSS Score | 6.1 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
EPSS Score | 0.47% |
EPSS Percentile | 76th percentile |
Description
Affected versions of
jquery-ui
are vulnerable to a cross-site scripting vulnerability when arbitrary user input is supplied as the value of thecloseText
parameter in thedialog
function.jQuery-UI is a library for manipulating UI elements via jQuery.
Version 1.11.4 has a cross site scripting (XSS) vulnerability in the
closeText
parameter of thedialog
function. If your application passes user input to this parameter, it may be vulnerable to XSS via this attack vector.Recommendation
Upgrade to jQuery-UI 1.12.0 or later.
follow-redirects 1.15.3
(npm)
pkg:npm/follow-redirects@1.15.3
# Dockerfile (132:135)
COPY --chown=cmfive:cmfive \
--from=core \
/cmfive-core/system/templates/base/node_modules \
system/templates/base/node_modules
Exposure of Sensitive Information to an Unauthorized Actor
Affected range | <=1.15.5 |
Fixed version | 1.15.6 |
CVSS Score | 6.5 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
EPSS Score | 0.04% |
EPSS Percentile | 11th percentile |
Description
When using axios, its dependency follow-redirects only clears authorization header during cross-domain redirect, but allows the proxy-authentication header which contains credentials too.
Steps To Reproduce & PoC
Test code:
const axios = require('axios'); axios.get('http://127.0.0.1:10081/', { headers: { 'AuThorization': 'Rear Test', 'ProXy-AuthoriZation': 'Rear Test', 'coOkie': 't=1' } }) .then((response) => { console.log(response); })When I meet the cross-domain redirect, the sensitive headers like authorization and cookie are cleared, but proxy-authentication header is kept.
Impact
This vulnerability may lead to credentials leak.
Recommendations
Remove proxy-authentication header during cross-domain redirect
Recommended Patch
- removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers); + removeMatchingHeaders(/^(?:authorization|proxy-authorization|cookie)$/i, this._options.headers);
Affected range | <1.15.4 |
Fixed version | 1.15.4 |
CVSS Score | 6.1 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
EPSS Score | 0.05% |
EPSS Percentile | 20th percentile |
Description
Versions of the package follow-redirects before 1.15.4 are vulnerable to Improper Input Validation due to the improper handling of URLs by the url.parse() function. When new URL() throws an error, it can be manipulated to misinterpret the hostname. An attacker could exploit this weakness to redirect traffic to a malicious site, potentially leading to information disclosure, phishing attacks, or other security breaches.
postcss 7.0.39
(npm)
pkg:npm/postcss@7.0.39
# Dockerfile (132:135)
COPY --chown=cmfive:cmfive \
--from=core \
/cmfive-core/system/templates/base/node_modules \
system/templates/base/node_modules
Improper Neutralization of Line Delimiters
Affected range | <8.4.31 |
Fixed version | 8.4.31 |
CVSS Score | 5.3 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
EPSS Score | 0.05% |
EPSS Percentile | 21st percentile |
Description
An issue was discovered in PostCSS before 8.4.31. It affects linters using PostCSS to parse external Cascading Style Sheets (CSS). There may be
\r
discrepancies, as demonstrated by@font-face{ font:(\r/*);}
in a rule.This vulnerability affects linters using PostCSS to parse external untrusted CSS. An attacker can prepare CSS in such a way that it will contains parts parsed by PostCSS as a CSS comment. After processing by PostCSS, it will be included in the PostCSS output in CSS nodes (rules, properties) despite being originally included in a comment.
vue-template-compiler 2.7.15
(npm)
pkg:npm/vue-template-compiler@2.7.15
# Dockerfile (132:135)
COPY --chown=cmfive:cmfive \
--from=core \
/cmfive-core/system/templates/base/node_modules \
system/templates/base/node_modules
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Affected range | >=2.0.0 |
Fixed version | 3.0.0 |
CVSS Score | 4.2 |
CVSS Vector | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N |
EPSS Score | 0.04% |
EPSS Percentile | 9th percentile |
Description
A vulnerability has been discovered in vue-template-compiler, that allows an attacker to perform XSS via prototype pollution. The attacker could change the prototype chain of some properties such as
Object.prototype.staticClass
orObject.prototype.staticStyle
to execute arbitrary JavaScript code. Vue 2 has reached End-of-Life. This vulnerability has been patched in Vue 3.
codemirror 4.4.0
(npm)
pkg:npm/codemirror@4.4.0
# Dockerfile (123:123)
RUN su cmfive -c 'INSTALL_ENV=docker php cmfive.php install core'
Uncontrolled Resource Consumption
Affected range | <5.58.2 |
Fixed version | 5.58.2 |
CVSS Score | 5.3 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
EPSS Score | 1.71% |
EPSS Percentile | 88th percentile |
Description
This affects the package codemirror before 5.58.2; the package org.apache.marmotta.webjars:codemirror before 5.58.2.
The vulnerable regular expression is located in https://github.com/codemirror/CodeMirror/blob/cdb228ac736369c685865b122b736cd0d397836c/mode/javascript/javascript.jsL129. The ReDOS vulnerability of the regex is mainly due to the sub-pattern (s|/.?/)
quill 1.3.7
(npm)
pkg:npm/quill@1.3.7
# Dockerfile (132:135)
COPY --chown=cmfive:cmfive \
--from=core \
/cmfive-core/system/templates/base/node_modules \
system/templates/base/node_modules
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Affected range | <=1.3.7 |
Fixed version | Not Fixed |
CVSS Score | 4.2 |
CVSS Vector | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N |
EPSS Score | 0.13% |
EPSS Percentile | 48th percentile |
Description
A vulnerability in the HTML editor of Slab Quill allows an attacker to execute arbitrary JavaScript by storing an XSS payload (a crafted
onloadstart
attribute of an IMG element) in a text field. No patch exists and no further releases are planned.This CVE is disputed. Researchers have claimed that this issue is not within the product itself, but is intended behavior in a web browser. More information can be found here.
postcss 7.0.36
(npm)
pkg:npm/postcss@7.0.36
# Dockerfile (132:135)
COPY --chown=cmfive:cmfive \
--from=core \
/cmfive-core/system/templates/base/node_modules \
system/templates/base/node_modules
Improper Neutralization of Line Delimiters
Affected range | <8.4.31 |
Fixed version | 8.4.31 |
CVSS Score | 5.3 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
EPSS Score | 0.05% |
EPSS Percentile | 21st percentile |
Description
An issue was discovered in PostCSS before 8.4.31. It affects linters using PostCSS to parse external Cascading Style Sheets (CSS). There may be
\r
discrepancies, as demonstrated by@font-face{ font:(\r/*);}
in a rule.This vulnerability affects linters using PostCSS to parse external untrusted CSS. An attacker can prepare CSS in such a way that it will contains parts parsed by PostCSS as a CSS comment. After processing by PostCSS, it will be included in the PostCSS output in CSS nodes (rules, properties) despite being originally included in a comment.
express 4.18.2
(npm)
pkg:npm/express@4.18.2
# Dockerfile (132:135)
COPY --chown=cmfive:cmfive \
--from=core \
/cmfive-core/system/templates/base/node_modules \
system/templates/base/node_modules
Improper Validation of Syntactic Correctness of Input
Affected range | <4.19.2 |
Fixed version | 4.19.2 |
CVSS Score | 6.1 |
CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
EPSS Score | 0.04% |
EPSS Percentile | 11th percentile |
Description
Impact
Versions of Express.js prior to 4.19.2 and pre-release alpha and beta versions before 5.0.0-beta.3 are affected by an open redirect vulnerability using malformed URLs.
When a user of Express performs a redirect using a user-provided URL Express performs an encode using
encodeurl
on the contents before passing it to thelocation
header. This can cause malformed URLs to be evaluated in unexpected ways by common redirect allow list implementations in Express applications, leading to an Open Redirect via bypass of a properly implemented allow list.The main method impacted is
res.location()
but this is also called from withinres.redirect()
.Patches
expressjs/express@0867302
expressjs/express@0b74695An initial fix went out with
express@4.19.0
, we then patched a feature regression in4.19.1
and added improved handling for the bypass in4.19.2
.Workarounds
The fix for this involves pre-parsing the url string with either
require('node:url').parse
ornew URL
. These are steps you can take on your own before passing the user input string tores.location
orres.redirect
.References
expressjs/express#5539
koajs/koa#1800
https://expressjs.com/en/4x/api.html#res.location
aws/aws-sdk-php 3.224.0
(composer)
pkg:composer/aws/aws-sdk-php@3.224.0
# Dockerfile (123:123)
RUN su cmfive -c 'INSTALL_ENV=docker php cmfive.php install core'
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Affected range | <3.288.1 |
Fixed version | 3.288.1 |
CVSS Score | 6 |
CVSS Vector | CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N |
EPSS Score | 0.04% |
EPSS Percentile | 16th percentile |
Description
Impact
Within the scope of requests to S3 object keys and/or prefixes containing a Unix double-dot, a URI path traversal is possible. The issue exists in the
buildEndpoint
method in theRestSerializer
component of the AWS SDK for PHP v3 prior to 3.288.1. ThebuildEndpoint
method relies on the Guzzle Psr7UriResolver
utility, which strips dot segments from the request path in accordance with RFC 3986. Under certain conditions, this could lead to an arbitrary object being accessed.Versions of the AWS SDK for PHP v3 before 3.288.1 are affected by this issue.
Patches
Upgrade to the AWS SDK for PHP >= 3.288.1, if you are on version < 3.288.1.
References
RFC 3986 - https://datatracker.ietf.org/doc/html/rfc3986
For more information
If you have any questions or comments about this advisory, please contact AWS's Security team.
fix: Missing node modules for theme (#156) [DEVELOP]
This fixes missing node modules for the theme which was preventing being able to log in.