Skip to content

Conversation

mattbell87
Copy link
Member

Checklist

  • I'm using the correct PHP Version (8.1 for current, 7.4 for legacy).
  • I've added comments to any new methods I've created or where else relevant.
  • I've replaced magic method usage on DbService classes with the getInstance() static method.
  • I've written any documentation for new features or where else relevant in the docs repo.

Description

Changelog

refs:
issues:

Other Information

Docs pull request:

adam-buckley and others added 29 commits April 19, 2023 14:49
* First cut working, some kludges

* First cut regressions for use

* DB config for local

* Incremental regressions into CodeSpaces

* Correct testrunner config

* No subsystem

* Abandon auto chmod

* As running in space

* Check remote can push

* GitIgnore UnitTest cache

* Check can push from remote

* Check can push from remote

* Try to fix xdebug

* Tentative XDebug OK

* Retested Xdebug setup

* Try DBug without restart

* Still tweaking XDB

* Still nudging XDB

* Still A/B testing XDB settings

* Update CI SeleniumRefs & Lint Docker Compose

* Radically simplify XDebug ini

* smtp config in template

* Additional test env config on mail

* Refactor per 8.1 ambitions

* Skip questionable linter compatibility

* Try alternative linter

* Try 8.1 version overtrue

* Use checkout v3

---------

Co-authored-by: Derek Crannaford <[email protected]>
Co-authored-by: Adam Buckley <[email protected]>
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [pipeline-components/php-codesniffer](https://github.com/pipeline-components/php-codesniffer) from 0.12.3 to 0.31.0.
- [Release notes](https://github.com/pipeline-components/php-codesniffer/releases)
- [Commits](pipeline-components/php-codesniffer@v0.12.3...v0.31.0)

---
updated-dependencies:
- dependency-name: pipeline-components/php-codesniffer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
…ions/checkout-4

build(deps): bump actions/checkout from 3 to 4
…eline-components/php-codesniffer-0.31.0

build(deps): bump pipeline-components/php-codesniffer from 0.12.3 to 0.31.0
Update overtrue/phplint to max v5 version
bump to v6
bump to v9
minor version bump
Bumps [overtrue/phplint](https://github.com/overtrue/phplint) from 9.0.3 to 9.1.1.
- [Release notes](https://github.com/overtrue/phplint/releases)
- [Changelog](https://github.com/overtrue/phplint/blob/main/CHANGELOG.md)
- [Commits](overtrue/phplint@9.0.3...9.1.1)

---
updated-dependencies:
- dependency-name: overtrue/phplint
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
…rtrue/phplint-9.1.1

build(deps): bump overtrue/phplint from 9.0.3 to 9.1.1
Bumps [overtrue/phplint](https://github.com/overtrue/phplint) from 9.1.1 to 9.1.2.
- [Release notes](https://github.com/overtrue/phplint/releases)
- [Changelog](https://github.com/overtrue/phplint/blob/main/CHANGELOG.md)
- [Commits](overtrue/phplint@9.1.1...9.1.2)

---
updated-dependencies:
- dependency-name: overtrue/phplint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
…ertrue/phplint-9.1.2

build(deps): bump overtrue/phplint from 9.1.1 to 9.1.2
Add docker to dependabot
Bumps [pipeline-components/php-codesniffer](https://github.com/pipeline-components/php-codesniffer) from 0.31.0 to 0.32.1.
- [Release notes](https://github.com/pipeline-components/php-codesniffer/releases)
- [Commits](pipeline-components/php-codesniffer@v0.31.0...v0.32.1)

---
updated-dependencies:
- dependency-name: pipeline-components/php-codesniffer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
…peline-components/php-codesniffer-0.32.1

build(deps): bump pipeline-components/php-codesniffer from 0.31.0 to 0.32.1
@mattbell87 mattbell87 requested a review from adam-buckley August 2, 2024 02:10
Copy link

github-actions bot commented Aug 2, 2024

Overview

Image reference ghcr.io/2pisoftware/cmfive:develop ghcr.io/2pisoftware/cmfive:pr-144
- digest 00292c061774 9d2543a36939
- tag develop pr-144
- provenance 4215074 ef07016
- vulnerabilities critical: 0 high: 3 medium: 7 low: 0 unspecified: 1 critical: 0 high: 3 medium: 7 low: 0 unspecified: 1
- platform linux/amd64 linux/amd64
- size 327 MB 327 MB
- packages 205 205
Base Image alpine:3.19
also known as:
3.19.3
alpine:3.19
also known as:
3.19.3
- vulnerabilities critical: 0 high: 0 medium: 0 low: 0 critical: 0 high: 0 medium: 0 low: 0
Labels (3 changes)
  • ± 3 changed
  • 6 unchanged
-org.opencontainers.image.created=2024-08-02T01:54:09.853Z
+org.opencontainers.image.created=2024-08-02T02:10:12.449Z
 org.opencontainers.image.description=Cmfive in a docker image
 org.opencontainers.image.licenses=GPL-3.0
-org.opencontainers.image.revision=42150745ac976f3c0f65176a48eb507e269e4e3f
+org.opencontainers.image.revision=ef07016c3d76b5e4b46fb47a25c16b05663f1f00
 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-144

Copy link

github-actions bot commented Aug 2, 2024

🔍 Vulnerabilities of ghcr.io/2pisoftware/cmfive:pr-144

📦 Image Reference ghcr.io/2pisoftware/cmfive:pr-144
digestsha256:9d2543a3693906c4fce6fa34d2efa63802f7f07984b69a5ed1763e65ec600318
vulnerabilitiescritical: 0 high: 3 medium: 7 low: 0
size327 MB
packages205
📦 Base Image alpine:3.19
also known as
  • 3.19.3
digestsha256:8d733e27df31ac40ec64633002a200a0aed5477866730e0bfeb8d2dec5d8e76a
vulnerabilitiescritical: 0 high: 0 medium: 0 low: 0
critical: 0 high: 1 medium: 0 low: 0 twig/twig 3.3.10 (composer)

pkg:composer/twig/[email protected]

# Dockerfile (121:121)
RUN su cmfive -c 'INSTALL_ENV=docker php cmfive.php install core'

high 7.5: CVE--2022--39261 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Affected range>=3.0.0
<3.4.3
Fixed version3.4.3
CVSS Score7.5
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
EPSS Score0.33%
EPSS Percentile71st 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 or include 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.

critical: 0 high: 1 medium: 0 low: 0 chart.js 2.5.0 (npm)

pkg:npm/[email protected]

# Dockerfile (121:121)
RUN su cmfive -c 'INSTALL_ENV=docker php cmfive.php install core'

high 7.5: CVE--2020--7746 Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

Affected range<2.9.4
Fixed version2.9.4
CVSS Score7.5
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS Score1.80%
EPSS Percentile88th 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.

critical: 0 high: 1 medium: 0 low: 0 setuptools 68.2.2 (pypi)

pkg:pypi/[email protected]

# Dockerfile (98:98)
COPY /.codepipeline/docker/configs/fpm/ /etc/php81/

high 8.8: CVE--2024--6345 Improper Control of Generation of Code ('Code Injection')

Affected range<70.0.0
Fixed version70.0.0
CVSS Score8.8
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
EPSS Score0.04%
EPSS Percentile9th 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.

critical: 0 high: 0 medium: 5 low: 0 jquery-ui 1.10.4 (npm)

pkg:npm/[email protected]

# Dockerfile (121:121)
RUN su cmfive -c 'INSTALL_ENV=docker php cmfive.php install core'

medium 6.5: CVE--2021--41184 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Affected range<1.13.0
Fixed version1.13.0
CVSS Score6.5
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
EPSS Score0.45%
EPSS Percentile76th 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.

medium 6.5: CVE--2021--41183 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Affected range<1.13.0
Fixed version1.13.0
CVSS Score6.5
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
EPSS Score0.31%
EPSS Percentile70th 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.

medium 6.5: CVE--2021--41182 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Affected range<1.13.0
Fixed version1.13.0
CVSS Score6.5
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
EPSS Score0.28%
EPSS Percentile69th 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.

medium 6.1: CVE--2022--31160 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Affected range<1.13.2
Fixed version1.13.2
CVSS Score6.1
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
EPSS Score0.22%
EPSS Percentile61st 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">
	&lt;img src=x onerror="alert(1)"&gt;
</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 a span:

<label>
	<input id="test-input">
	<span>&lt;img src=x onerror="alert(1)"&gt;</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.

medium 6.1: CVE--2016--7103 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Affected range<1.12.0
Fixed version1.12.0
CVSS Score6.1
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
EPSS Score0.47%
EPSS Percentile76th 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 the closeText parameter in the dialog 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 the dialog 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.

critical: 0 high: 0 medium: 1 low: 0 codemirror 4.4.0 (npm)

pkg:npm/[email protected]

# Dockerfile (121:121)
RUN su cmfive -c 'INSTALL_ENV=docker php cmfive.php install core'

medium 5.3: CVE--2020--7760 Uncontrolled Resource Consumption

Affected range<5.58.2
Fixed version5.58.2
CVSS Score5.3
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
EPSS Score1.71%
EPSS Percentile88th 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|/.?/)

critical: 0 high: 0 medium: 1 low: 0 aws/aws-sdk-php 3.224.0 (composer)

pkg:composer/aws/[email protected]

# Dockerfile (121:121)
RUN su cmfive -c 'INSTALL_ENV=docker php cmfive.php install core'

medium 6.0: CVE--2023--51651 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Affected range<3.288.1
Fixed version3.288.1
CVSS Score6
CVSS VectorCVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
EPSS Score0.04%
EPSS Percentile16th 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 thebuildEndpoint method in the RestSerializer component of the AWS SDK for PHP v3 prior to 3.288.1. The buildEndpoint method relies on the Guzzle Psr7 UriResolver 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.

@mattbell87 mattbell87 merged commit a9634f0 into develop Aug 2, 2024
7 checks passed
@mattbell87 mattbell87 deleted the fix/syncmasterdevelop branch August 13, 2024 04:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants