🛡️ CVE-2022-39369 — fedora

🟠 CVSS 8.0 — High ✅ No Known Exploit CWE-1287 NVD
8.0
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

phpCAS vulnerable to Service Hostname Discovery Exploitation

Impact

The phpCAS library uses HTTP headers to determine the service URL used to validate tickets. This allows an attacker to control the host header and use a valid ticket granted for any authorized service in the same SSO realm (CAS server) to authenticate to the service protected by phpCAS.

Depending on the settings of the CAS server service registry in worst case this may be any other service URL (if the allowed URLs are configured to "^(https)://.*") or may be strictly limited to known and authorized services in the same SSO federation if proper URL service validation is applied.

This vulnerability may allow an attacker to gain access to a victim's account on a vulnerable CASified service without victim's knowledge, when the victim visits attacker's website while being logged in to the same CAS server.

Patch

phpCAS 1.6.0 is a major version upgrade that starts enforcing service URL discovery validation, because there is unfortunately no 100% safe default config to use in PHP. Starting this version, it is required to pass in an additional service base URL argument when constructing the client class.

For more information, please refer to the upgrading doc.

Workarounds

This vulnerability only impacts the CAS client that the phpCAS library protects against. The problematic service URL discovery behavior in phpCAS < 1.6.0 will only be disabled, and thus you are not impacted from it, if the phpCAS configuration has the following setup:

1. phpCAS::setUrl() is called (a reminder that you have to pass in the full URL of the current page, rather than your service base URL), and

2. phpCAS::setCallbackURL() is called, only when the proxy mode is enabled.

3. Alternatively, if your PHP's HTTP header input X-Forwarded-Host, X-Forwarded-Server, Host, X-Forwarded-Proto, X-Forwarded-Protocol is sanitized before reaching PHP (by a reverse proxy, for example), you will not be impacted by this vulnerability.

Otherwise, you should upgrade the library to get the safe service discovery behavior.

If your CAS server service registry is configured to only allow known and trusted service URLs, the severity of the vulnerability is reduced substantially since an attacker must be in control of another authorized service.

Acknowledgement

We would like to thank Filip Hejsek for discovering this vulnerability, responsibly reporting it to the developers, and helping harden the patch.

Henry Pan and Joachim Fritschi helped with the patch and release effort as phpCAS developers.

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs low-level privileges on the target. A user must be tricked into taking some action. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality high, integrity high, availability high.

Affected software

CVE-2022-39369 is recorded against 3 packages.

  • apereo/phpcas (fixed in 1.6.0)
  • fedora
  • phpcas (fixed in 1.6.0)

Timeline and source

Published on 1 November 2022 and last revised on 20 February 2024. No public exploit is currently recorded for this entry. Record sourced from NVD.

References

github.com (Web)
nvd.nist.gov (Advisory)
github.com (Web)
github.com (Package)
github.com (Web)
lists.debian.org (Web)
lists.fedoraproject.org (Web)
lists.fedoraproject.org (Web)
lists.fedoraproject.org (Web)

CVE-2022-39369 on other distributions

Each distribution ships its own build and its own fixed version. Pick the one you run:

Details

Severity HIGH
CVSS Score 8.0
CVSS Vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
CWE CWE-1287
Public Exploit ✅ No
Source NVD
Published 2022-11-01
Updated 2026-08-12
Modified 2024-02-20
Fix URL N/A

Affected Packages

Software From version Fixed in
apereo/phpcas 1.6.0
fedora
phpcas 1.6.0

Similar Threats

Site Security Check

Is fedora part of your stack?

CVE-2022-39369 is rated CVSS 8.0 High. BotEraser scans your installation against known CVE records and tells you whether this vulnerability applies to the versions you actually run.

Scan My Site Free →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.