From 2683d64b13f1729c657b0b8c238b60c5084f9581 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 30 Aug 2026 23:57:26 +0000 Subject: [PATCH 1/4] chore(deps): bump phpseclib/phpseclib from 3.0.56 to 4.0.1 Bumps [phpseclib/phpseclib](https://github.com/phpseclib/phpseclib) from 3.0.56 to 4.0.1. - [Release notes](https://github.com/phpseclib/phpseclib/releases) - [Changelog](https://github.com/phpseclib/phpseclib/blob/master/CHANGELOG.md) - [Commits](https://github.com/phpseclib/phpseclib/compare/3.0.56...4.0.1) --- updated-dependencies: - dependency-name: phpseclib/phpseclib dependency-version: 4.0.1 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- composer.json | 2 +- composer.lock | 168 +++++++++++++++++++++++++++++++------------------- 2 files changed, 105 insertions(+), 65 deletions(-) diff --git a/composer.json b/composer.json index 54e0a2510e5..5d659bac1f7 100644 --- a/composer.json +++ b/composer.json @@ -88,7 +88,7 @@ "owncloud/tarstreamer": "v2.1.0", "pear/archive_tar": "1.6.1", "pear/pear-core-minimal": "^v1.10", - "phpseclib/phpseclib": "^3.0", + "phpseclib/phpseclib": "^4.0", "pimple/pimple": "^3.6", "punic/punic": "^3.8", "rhukster/dom-sanitizer": "^1.0.10", diff --git a/composer.lock b/composer.lock index 906e6f12c5d..44354204df1 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "4540594a9bb2eb8f4612177c59f8d59b", + "content-hash": "2e4110693a649d77be7c28d7fe9e380f", "packages": [ { "name": "bantu/ini-get-wrapper", @@ -2312,56 +2312,6 @@ }, "time": "2025-09-24T15:06:41+00:00" }, - { - "name": "paragonie/random_compat", - "version": "v9.99.100", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", - "shasum": "" - }, - "require": { - "php": ">= 7" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], - "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/random_compat/issues", - "source": "https://github.com/paragonie/random_compat" - }, - "time": "2020-10-15T08:29:30+00:00" - }, { "name": "pear/archive_tar", "version": "1.6.1", @@ -2593,31 +2543,35 @@ }, { "name": "phpseclib/phpseclib", - "version": "3.0.56", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "7adbbe38cde25e2df2116dbf2673c407e24fa305" + "reference": "bb7b959c8159957edae6f5084ebbac765d310e16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/7adbbe38cde25e2df2116dbf2673c407e24fa305", - "reference": "7adbbe38cde25e2df2116dbf2673c407e24fa305", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/bb7b959c8159957edae6f5084ebbac765d310e16", + "reference": "bb7b959c8159957edae6f5084ebbac765d310e16", "shasum": "" }, "require": { - "paragonie/constant_time_encoding": "^1|^2|^3", - "paragonie/random_compat": "^1.4|^2.0|^9.99.99", - "php": ">=5.6.1" + "paragonie/constant_time_encoding": "^2|^3", + "php": ">=8.1", + "symfony/polyfill-php82": "^1.26" }, "require-dev": { - "phpunit/phpunit": "*" + "brianium/paratest": "^7.22", + "ext-xml": "*", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpunit/phpunit": "^13", + "squizlabs/php_codesniffer": "^3.7", + "vimeo/psalm": "*" }, "suggest": { "ext-dom": "Install the DOM extension to load XML formatted public keys.", "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." }, "type": "library", @@ -2626,7 +2580,7 @@ "phpseclib/bootstrap.php" ], "psr-4": { - "phpseclib3\\": "phpseclib/" + "phpseclib4\\": "phpseclib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2658,10 +2612,16 @@ "name": "Graham Campbell", "email": "graham@alt-three.com", "role": "Developer" + }, + { + "name": "Jack Worman", + "email": "jack.worman@gmail.com", + "homepage": "https://jackworman.com", + "role": "Developer" } ], "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", + "homepage": "https://phpseclib.com/", "keywords": [ "BigInteger", "aes", @@ -2683,7 +2643,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.56" + "source": "https://github.com/phpseclib/phpseclib/tree/4.0.1" }, "funding": [ { @@ -2699,7 +2659,7 @@ "type": "tidelift" } ], - "time": "2026-08-03T04:36:50+00:00" + "time": "2026-08-26T12:15:13+00:00" }, { "name": "pimple/pimple", @@ -4323,6 +4283,86 @@ ], "time": "2026-04-10T16:19:22+00:00" }, + { + "name": "symfony/polyfill-php82", + "version": "v1.38.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php82.git", + "reference": "002dc0cfe5fd4ed6033d48f27d4f19a486c4b04b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/002dc0cfe5fd4ed6033d48f27d4f19a486c4b04b", + "reference": "002dc0cfe5fd4ed6033d48f27d4f19a486c4b04b", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php82\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php82/tree/v1.38.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-26T12:45:58+00:00" + }, { "name": "symfony/process", "version": "v7.4.17", From df4436e2158e8d93ce9dd84c55c8d2aa7c7c276b Mon Sep 17 00:00:00 2001 From: Phillip Davis Date: Mon, 31 Aug 2026 16:52:01 +0930 Subject: [PATCH 2/4] fix: update phpseclib3 to phpseclib4 The phpseclib dependency is updated to major version 4. All references to the old phpseclib3 are updated to phpseclib4. Signed-off-by: Phillip Davis --- .../appinfo/Migrations/Version20220329110116.php | 6 +++--- apps/files_external/lib/Lib/Auth/PublicKey/RSA.php | 2 +- apps/files_external/lib/Lib/RSAStore.php | 6 +++--- apps/files_external/lib/Lib/Storage/SFTP.php | 8 ++++---- apps/files_external/tests/RSAStoreTest.php | 2 +- lib/kernel.php | 2 +- lib/private/Files/External/LegacyUtil.php | 2 +- lib/private/IntegrityCheck/Verifier/ChainResult.php | 2 +- lib/private/IntegrityCheck/Verifier/ChainValidator.php | 2 +- lib/private/IntegrityCheck/Verifier/CrlValidator.php | 4 ++-- lib/private/IntegrityCheck/Verifier/ManifestVerifier.php | 6 +++--- lib/private/IntegrityCheck/Verifier/ParsedCrl.php | 4 ++-- lib/private/IntegrityCheck/Verifier/Verifier.php | 4 ++-- lib/private/Security/Crypto.php | 4 ++-- tests/lib/IntegrityCheck/Verifier/CrlValidatorTest.php | 2 +- 15 files changed, 28 insertions(+), 28 deletions(-) diff --git a/apps/files_external/appinfo/Migrations/Version20220329110116.php b/apps/files_external/appinfo/Migrations/Version20220329110116.php index d0f322c9494..c600bdae229 100644 --- a/apps/files_external/appinfo/Migrations/Version20220329110116.php +++ b/apps/files_external/appinfo/Migrations/Version20220329110116.php @@ -11,8 +11,8 @@ use OCP\Files\External\IStorageConfig; use OCP\ILogger; use OCP\IConfig; -use phpseclib3\Crypt\RSA as RSACrypt; -use phpseclib3\Crypt\RSA\PrivateKey; +use phpseclib4\Crypt\RSA as RSACrypt; +use phpseclib4\Crypt\RSA\PrivateKey; class Version20220329110116 implements ISimpleMigration { /** @var IGlobalStoragesService */ @@ -59,7 +59,7 @@ public function run(IOutput $out) { try { /** @phan-suppress-next-line PhanUndeclaredMethod */ $rsaKey = RSACrypt::load($privKey, $pass)->withHash('sha1'); - } catch (\phpseclib3\Exception\NoKeyLoadedException $e) { + } catch (\phpseclib4\Exception\NoKeyLoadedException $e) { $out->warning("Storage configuration with id = {$configId}: Cannot load private key, skipping"); continue; } diff --git a/apps/files_external/lib/Lib/Auth/PublicKey/RSA.php b/apps/files_external/lib/Lib/Auth/PublicKey/RSA.php index e37f4735955..7c60f04d804 100644 --- a/apps/files_external/lib/Lib/Auth/PublicKey/RSA.php +++ b/apps/files_external/lib/Lib/Auth/PublicKey/RSA.php @@ -26,7 +26,7 @@ use OCP\Files\External\DefinitionParameter; use OCP\IL10N; use OCA\Files_External\Lib\RSAStore; -use phpseclib3\Crypt\RSA as RSACrypt; +use phpseclib4\Crypt\RSA as RSACrypt; /** * RSA public key authentication diff --git a/apps/files_external/lib/Lib/RSAStore.php b/apps/files_external/lib/Lib/RSAStore.php index 4d852429158..9eb24c81bfd 100644 --- a/apps/files_external/lib/Lib/RSAStore.php +++ b/apps/files_external/lib/Lib/RSAStore.php @@ -23,11 +23,11 @@ use OCP\Security\ICredentialsManager; use OCP\IConfig; -use phpseclib3\Crypt\RSA; -use phpseclib3\Crypt\RSA\PrivateKey; +use phpseclib4\Crypt\RSA; +use phpseclib4\Crypt\RSA\PrivateKey; /** - * Store and retrieve phpseclib3 RSA private keys + * Store and retrieve phpseclib4 RSA private keys */ class RSAStore { private static $rsaStore = null; diff --git a/apps/files_external/lib/Lib/Storage/SFTP.php b/apps/files_external/lib/Lib/Storage/SFTP.php index eb789f6ca87..9eeff5c5fb7 100644 --- a/apps/files_external/lib/Lib/Storage/SFTP.php +++ b/apps/files_external/lib/Lib/Storage/SFTP.php @@ -34,7 +34,7 @@ namespace OCA\Files_External\Lib\Storage; use Icewind\Streams\IteratorDirectory; use Icewind\Streams\RetryWrapper; -use phpseclib3\Net\SFTP\Stream; +use phpseclib4\Net\SFTP\Stream; use OCA\Files_External\Lib\RSAStore; /** @@ -50,7 +50,7 @@ class SFTP extends \OCP\Files\Storage\StorageAdapter { private $auth; /** - * @var \phpseclib3\Net\SFTP + * @var \phpseclib4\Net\SFTP */ protected $client; @@ -118,7 +118,7 @@ public function __construct($params) { /** * Returns the connection. * - * @return \phpseclib3\Net\SFTP connected client instance + * @return \phpseclib4\Net\SFTP connected client instance * @throws \Exception when the connection failed */ public function getConnection() { @@ -127,7 +127,7 @@ public function getConnection() { } $hostKeys = $this->readHostKeys(); - $this->client = new \phpseclib3\Net\SFTP($this->host, $this->port); + $this->client = new \phpseclib4\Net\SFTP($this->host, $this->port); // The SSH Host Key MUST be verified before login(). $currentHostKey = $this->client->getServerPublicHostKey(); diff --git a/apps/files_external/tests/RSAStoreTest.php b/apps/files_external/tests/RSAStoreTest.php index b63c4fc0fae..ec85a4f1bc2 100644 --- a/apps/files_external/tests/RSAStoreTest.php +++ b/apps/files_external/tests/RSAStoreTest.php @@ -24,7 +24,7 @@ use OCP\Security\ICredentialsManager; use OCP\IConfig; use OCA\Files_External\Lib\RSAStore; -use phpseclib3\Crypt\RSA; +use phpseclib4\Crypt\RSA; class RSAStoreTest extends \Test\TestCase { /** @var ICredentialsManager */ diff --git a/lib/kernel.php b/lib/kernel.php index c453e9baa0d..ffd7e71a04f 100644 --- a/lib/kernel.php +++ b/lib/kernel.php @@ -534,7 +534,7 @@ public static function init() { // code-signing verifier). ownCloud never relies on phpseclib fetching // remote URLs, so this is disabled once here at boot rather than toggled // per validation call — a single, greppable, non-hidden global default. - \phpseclib3\File\X509::disableURLFetch(); + \phpseclib4\File\X509::disableURLFetch(); try { self::initPaths(); diff --git a/lib/private/Files/External/LegacyUtil.php b/lib/private/Files/External/LegacyUtil.php index c34b5b8d859..a6f3f13081b 100644 --- a/lib/private/Files/External/LegacyUtil.php +++ b/lib/private/Files/External/LegacyUtil.php @@ -21,7 +21,7 @@ namespace OC\Files\External; -use phpseclib3\Crypt\AES; +use phpseclib4\Crypt\AES; use \OCP\Files\External\IStorageConfig; use \OCP\Files\StorageNotAvailableException; diff --git a/lib/private/IntegrityCheck/Verifier/ChainResult.php b/lib/private/IntegrityCheck/Verifier/ChainResult.php index 0bf41830d0c..d770c079229 100644 --- a/lib/private/IntegrityCheck/Verifier/ChainResult.php +++ b/lib/private/IntegrityCheck/Verifier/ChainResult.php @@ -6,7 +6,7 @@ namespace OC\IntegrityCheck\Verifier; -use phpseclib3\File\X509; +use phpseclib4\File\X509; /** * ChainResult - Immutable holder for successful X.509 chain validation result. diff --git a/lib/private/IntegrityCheck/Verifier/ChainValidator.php b/lib/private/IntegrityCheck/Verifier/ChainValidator.php index 70e85179fa2..812e679c0f9 100644 --- a/lib/private/IntegrityCheck/Verifier/ChainValidator.php +++ b/lib/private/IntegrityCheck/Verifier/ChainValidator.php @@ -7,7 +7,7 @@ namespace OC\IntegrityCheck\Verifier; use OC\IntegrityCheck\Exceptions\BadChainException; -use phpseclib3\File\X509; +use phpseclib4\File\X509; /** * ChainValidator - Validates X.509 certificate chains against trusted roots. diff --git a/lib/private/IntegrityCheck/Verifier/CrlValidator.php b/lib/private/IntegrityCheck/Verifier/CrlValidator.php index 2ef1abfd049..7996852eceb 100644 --- a/lib/private/IntegrityCheck/Verifier/CrlValidator.php +++ b/lib/private/IntegrityCheck/Verifier/CrlValidator.php @@ -6,10 +6,10 @@ namespace OC\IntegrityCheck\Verifier; -use phpseclib3\File\X509; +use phpseclib4\File\X509; /** - * CrlValidator parses and validates CRLs using phpseclib3. + * CrlValidator parses and validates CRLs using phpseclib4. * * @package OC\IntegrityCheck\Verifier */ diff --git a/lib/private/IntegrityCheck/Verifier/ManifestVerifier.php b/lib/private/IntegrityCheck/Verifier/ManifestVerifier.php index e21b72ee5da..fecb7dcaccb 100644 --- a/lib/private/IntegrityCheck/Verifier/ManifestVerifier.php +++ b/lib/private/IntegrityCheck/Verifier/ManifestVerifier.php @@ -7,9 +7,9 @@ namespace OC\IntegrityCheck\Verifier; use OC\IntegrityCheck\Exceptions\BadSignatureException; -use phpseclib3\Crypt\PublicKeyLoader; -use phpseclib3\Crypt\RSA; -use phpseclib3\Crypt\EC; +use phpseclib4\Crypt\PublicKeyLoader; +use phpseclib4\Crypt\RSA; +use phpseclib4\Crypt\EC; /** * Class ManifestVerifier verifies manifest signatures using various cryptographic algorithms. diff --git a/lib/private/IntegrityCheck/Verifier/ParsedCrl.php b/lib/private/IntegrityCheck/Verifier/ParsedCrl.php index abb6e4621b1..ec18b9d0f67 100644 --- a/lib/private/IntegrityCheck/Verifier/ParsedCrl.php +++ b/lib/private/IntegrityCheck/Verifier/ParsedCrl.php @@ -6,10 +6,10 @@ namespace OC\IntegrityCheck\Verifier; -use phpseclib3\File\X509; +use phpseclib4\File\X509; /** - * ParsedCrl wraps a loaded, signature-validated CRL from phpseclib3. + * ParsedCrl wraps a loaded, signature-validated CRL from phpseclib4. * * @package OC\IntegrityCheck\Verifier */ diff --git a/lib/private/IntegrityCheck/Verifier/Verifier.php b/lib/private/IntegrityCheck/Verifier/Verifier.php index cc68099b937..21ffac3ba78 100644 --- a/lib/private/IntegrityCheck/Verifier/Verifier.php +++ b/lib/private/IntegrityCheck/Verifier/Verifier.php @@ -211,11 +211,11 @@ public function verify( * Accesses the internal tbsCertificate.validity.notAfter field via reflection * and parses it into a \DateTimeImmutable for timestamp comparison. * - * @param \phpseclib3\File\X509 $leaf Loaded leaf certificate (via ChainResult::getLeaf()) + * @param \phpseclib4\File\X509 $leaf Loaded leaf certificate (via ChainResult::getLeaf()) * @return \DateTimeImmutable The notAfter date in UTC * @throws BadChainException If unable to extract or parse notAfter */ - private function extractNotAfterFromLeaf(\phpseclib3\File\X509 $leaf): \DateTimeImmutable { + private function extractNotAfterFromLeaf(\phpseclib4\File\X509 $leaf): \DateTimeImmutable { // Use reflection to access the internal certificate data structure $reflection = new \ReflectionClass($leaf); $certProperty = $reflection->getProperty('currentCert'); diff --git a/lib/private/Security/Crypto.php b/lib/private/Security/Crypto.php index 8ecac526bc4..b59418024d1 100644 --- a/lib/private/Security/Crypto.php +++ b/lib/private/Security/Crypto.php @@ -24,8 +24,8 @@ namespace OC\Security; -use phpseclib3\Crypt\AES; -use phpseclib3\Crypt\Hash; +use phpseclib4\Crypt\AES; +use phpseclib4\Crypt\Hash; use OCP\Security\ICrypto; use OCP\Security\ISecureRandom; use OCP\IConfig; diff --git a/tests/lib/IntegrityCheck/Verifier/CrlValidatorTest.php b/tests/lib/IntegrityCheck/Verifier/CrlValidatorTest.php index 2a3df8152b2..b7461557df2 100644 --- a/tests/lib/IntegrityCheck/Verifier/CrlValidatorTest.php +++ b/tests/lib/IntegrityCheck/Verifier/CrlValidatorTest.php @@ -13,7 +13,7 @@ use OC\IntegrityCheck\Verifier\TrustStore; use OC\IntegrityCheck\Verifier\CrlValidator; use OC\IntegrityCheck\Verifier\ParsedCrl; -use phpseclib3\File\X509; +use phpseclib4\File\X509; use Test\TestCase; class CrlValidatorTest extends TestCase { From 3953ad3d093e3eb540f5290d86d83720d2c54a75 Mon Sep 17 00:00:00 2001 From: Phillip Davis Date: Mon, 31 Aug 2026 17:07:10 +0930 Subject: [PATCH 3/4] fix: remove X509::disableURLFetch() This method no longer exists in phpseclib v4, and is no long needed. It has been removed. Signed-off-by: Phillip Davis --- lib/kernel.php | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lib/kernel.php b/lib/kernel.php index ffd7e71a04f..8d6f9cade6e 100644 --- a/lib/kernel.php +++ b/lib/kernel.php @@ -527,14 +527,10 @@ public static function init() { \spl_autoload_register([self::$loader, 'load']); $loaderEnd = \microtime(true); - // SECURITY: Disable phpseclib's automatic URL fetching process-wide. - // phpseclib's X509 will otherwise follow AIA caIssuers / CRL distribution - // point URLs found inside a certificate, which is an SSRF vector when - // validating attacker-supplied certificates (e.g. the IntegrityCheck - // code-signing verifier). ownCloud never relies on phpseclib fetching - // remote URLs, so this is disabled once here at boot rather than toggled - // per validation call — a single, greppable, non-hidden global default. - \phpseclib4\File\X509::disableURLFetch(); + // SECURITY: phpseclib v4 disables automatic URL fetching process-wide by default. + // ownCloud never relies on phpseclib fetching remote URLs, so this default + // behavior is what is needed. The old code to call disableURLFetch() for + // phpseclib v3 is no long needed. try { self::initPaths(); From 9facff81f5cc275ee509f22c5659d7047e50a454 Mon Sep 17 00:00:00 2001 From: Phillip Davis Date: Mon, 31 Aug 2026 17:09:09 +0930 Subject: [PATCH 4/4] chore: add changleof for phpseclib 4.0.1 Signed-off-by: Phillip Davis --- changelog/unreleased/PHPdependencies202608onward | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/changelog/unreleased/PHPdependencies202608onward b/changelog/unreleased/PHPdependencies202608onward index 3bb982c107c..ee7dc41afec 100644 --- a/changelog/unreleased/PHPdependencies202608onward +++ b/changelog/unreleased/PHPdependencies202608onward @@ -12,7 +12,7 @@ The following have been updated: * pear/archive_tar (1.6.0 to 1.6.1) - * phpseclib/phpseclib (3.0.55 to 3.0.56) + * phpseclib/phpseclib (3.0.55 to 4.0.1) * sabre/event (5.1.8 to 5.1.9) @@ -35,3 +35,4 @@ The following have been updated: https://github.com/owncloud/core/pull/41775 https://github.com/owncloud/core/pull/41791 https://github.com/owncloud/core/pull/41797 +https://github.com/owncloud/core/pull/41798