CyberSecBulletin
CVE-2022-23538NVD status: Modified

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.

Next patch cycle

High severity with no evidence of exploitation so far.

What to do

  1. Check which version of scs-library-client you run against the affected versions below, and install the vendor's latest release.
  2. Read the advisory on github.com for workarounds and exact fixed builds.
  3. 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

VendorProductAffected versionsFixed in
Sylabsscs-library-client< 1.34; >= 1.4.0, < 1.4.2Not stated
SylabsSingularity Container Services Library1.3.2; 1.3.3; 1.4.0; 1.4.1Not 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 systemScoreSeverityScored by
CVSS 3.15.2MediumCNA (github.com)
CVSS 3.17.6HighNVD

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

  1. CVE record published.
  2. CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: partial).
  3. Record last changed materially (score, affected products, status or references).

References

Recent Insufficiently Protected Credentials vulnerabilities

Spotted an error? Tell us.