Moderate severityNVD Advisory· Published Feb 23, 2022· Updated Apr 23, 2025
Missing server signature validation in OctoberCMS
CVE-2022-23655
Description
Octobercms is a self-hosted CMS platform based on the Laravel PHP Framework. Affected versions of OctoberCMS did not validate gateway server signatures. As a result non-authoritative gateway servers may be used to exfiltrate user private keys. Users are advised to upgrade their installations to build 474 or v1.1.10. The only known workaround is to manually apply the patch (e3b455ad587282f0fbcb7763c6d9c3d000ca1e6a) which adds server signature validation.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
october/systemPackagist | >= 1.1.0, < 1.1.11 | 1.1.11 |
october/systemPackagist | < 1.0.475 | 1.0.475 |
Affected products
1- Range: >= 1.1.0, < 1.1.11
Patches
1e3b455ad5872Checks gateway server has a valid signature
1 file changed · +38 −2
modules/system/classes/UpdateManager.php+38 −2 modified@@ -8,6 +8,7 @@ use Cache; use Schema; use Config; +use Request; use ApplicationException; use Cms\Classes\ThemeManager; use System\Models\Parameter; @@ -885,6 +886,10 @@ public function requestServerData($uri, $postData = []) throw new ApplicationException(Lang::get('system::lang.server.response_invalid')); } + if (!$this->validateServerSignature($resultData, $result->headers['Rest-Sign'] ?? '')) { + throw new ApplicationException(Lang::get('system::lang.server.response_invalid') . ' (Bad signature)'); + } + return $resultData; } @@ -963,12 +968,13 @@ protected function createServerUrl($uri) */ protected function applyHttpAttributes($http, $postData) { - $postData['protocol_version'] = '1.2'; - $postData['client'] = 'october'; + $postData['protocol_version'] = '1.3'; + $postData['client'] = 'October CMS'; $postData['server'] = base64_encode(json_encode([ 'php' => PHP_VERSION, 'url' => Url::to('/'), + 'ip' => Request::ip(), 'since' => PluginVersion::orderBy('created_at')->value('created_at') ])); @@ -1070,4 +1076,34 @@ protected function printMessages() } } } + + /** + * validateServerSignature checks the server has provided a valid signature + * + * @return bool + */ + protected function validateServerSignature($data, $signature) + { + if (!$signature) { + return false; + } + + $signature = base64_decode($signature); + + $pubKey = '-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt+KwvTXqC8Mz9vV4KIvX +3y+aZusrlg26jdbNVUuhXNFbt1VisjJydHW2+WGsiEHSy2s61ZAV2dICR6f3huSw +jY/MH9j23Oo/u61CBpvIS3Q8uC+TLtJl4/F9eqlnzocfMoKe8NmcBbUR3TKQoIok +xbSMl6jiE2k5TJdzhHUxjZRIeeLDLMKYX6xt37LdhuM8zO6sXQmCGg4J6LmHTJph +96H11gBvcFSFJSmIiDykJOELZl/aVcY1g3YgpL0mw5Bw1VTmKaRdz1eBi9DmKrKX +UijG4gD8eLRV/FS/sZCFNR/evbQXvTBxO0TOIVi85PlQEcMl4SBj0CoTyNbcAGtz +4wIDAQAB +-----END PUBLIC KEY-----'; + + $pubKey = Config::get('system.update_gateway_key', $pubKey); + + $data = base64_encode(json_encode($data)); + + return openssl_verify($data, $signature, $pubKey) === 1; + } }
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4- github.com/advisories/GHSA-53m6-44rc-h2q5ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2022-23655ghsaADVISORY
- github.com/octobercms/october/commit/e3b455ad587282f0fbcb7763c6d9c3d000ca1e6aghsax_refsource_MISCWEB
- github.com/octobercms/october/security/advisories/GHSA-53m6-44rc-h2q5ghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.