scs-library-client: Insufficiently Protected Credentials
CVE-2022-23538 is a high-severity insufficiently protected credentials vulnerability in scs-library-client from Sylabs, with a CVSS 3.1 base score of 7.6 out of 10. It can be exploited remotely over the network by an attacker with a low-privileged account, but only if a user takes part, for example by opening a link or file. Affected scs-library-client versions: < 1.34; >= 1.4.0, < 1.4.2. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 0.74% chance of exploitation within 30 days, higher than 55% of scored CVEs.
High severity with no evidence of exploitation so far.
What to do
- Check which version of scs-library-client you run against the affected versions below, and install the vendor's latest release.
- Read the advisory on github.com for workarounds and exact fixed builds.
- Because the attack needs a user to take part, warn users about unexpected links and files related to this product until it is patched.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Sylabs | scs-library-client | < 1.34; >= 1.4.0, < 1.4.2 | Not stated |
| Sylabs | Singularity Container Services Library | 1.3.2; 1.3.3; 1.4.0; 1.4.1 | Not stated |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- LowA basic user account is enough.
- User interaction
- RequiredA user must take an action such as opening a file or link.
- Scope
- ChangedThe attack can reach beyond the vulnerable component into other systems.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- LowLimited modification of data is possible.
- Availability
- NoneAvailability is not affected.
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N. Scored by NVD.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 3.1 | 5.2 | Medium | CNA (github.com) |
| CVSS 3.1 | 7.6 | High | NVD |
Official description
github.com/sylabs/scs-library-client is the Go client for the Singularity Container Services (SCS) Container Library Service. When the scs-library-client is used to pull a container image, with authentication, the HTTP Authorization header sent by the client to the library service may be incorrectly leaked to an S3 backing storage provider. This occurs in a specific flow, where the library service redirects the client to a backing S3 storage server, to perform a multi-part concurrent download. Depending on site configuration, the S3 service may be provided by a third party. An attacker with access to the S3 service may be able to extract user credentials, allowing them to impersonate the user. The vulnerable multi-part concurrent download flow, with redirect to S3, is only used when communicating with a Singularity Enterprise 1.x installation, or third party server implementing this flow. Interaction with Singularity Enterprise 2.x, and Singularity Container Services (cloud.sylabs.io), does not trigger the vulnerable flow. We encourage all users to update. Users who interact with a Singularity Enterprise 1.x installation, using a 3rd party S3 storage service, are advised to revoke and recreate their authentication tokens within Singularity Enterprise. There is no workaround available at this time.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Insufficiently Protected Credentials
The product transmits or stores authentication credentials, but it uses an insecure method that is susceptible to unauthorized interception and/or retrieval.
How developers prevent this class of flaw
- Use an appropriate security mechanism to protect the credentials.
- Make appropriate use of cryptography to protect the credentials.
- Use industry standards to protect the credentials (e.g. LDAP, keystore, etc.).
More Insufficiently Protected Credentials vulnerabilities (CWE-522)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: partial).
- Record last changed materially (score, affected products, status or references).
References
Advisories
- github.com/sylabs/scs-library-client/security/advisories/GHSA-7p8m-22h4-9pj7Third Party Advisory
Patches and release notes
- github.com/sylabs/scs-library-client/commit/68ac4cab5cda0afd8758ff5b5e2e57be6a22fcfaThird Party Advisory
- github.com/sylabs/scs-library-client/commit/b5db2aacba6bf1231f42dd475cc32e6355ab47b2Third Party Advisory
- github.com/sylabs/scs-library-client/commit/eebd7caaab310b1fa803e55b8fc1acd9dcd2d00cThird Party Advisory
Recent Insufficiently Protected Credentials vulnerabilities
- 7.5 High severity
- 7.5 High severity
- 7.5 High severity
- 9.8 Critical severity
- 8.8 High severity
- 7.5 High severity
Spotted an error? Tell us.