CyberSecBulletin
CVE-2022-27780NVD status: Modified

https://github.com/curl/curl: Server-Side Request Forgery

CVE-2022-27780 is a high-severity server-side request forgery vulnerability in https://github.com/curl/curl, with a CVSS 3.1 base score of 7.5 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. Affected https://github.com/curl/curl versions: Fixed in 7.83.1. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 2.52% chance of exploitation within 30 days, higher than 85% of scored CVEs.

Next patch cycle

High severity with no evidence of exploitation so far.

What to do

  1. Update curl to 7.86.0 or a later version.
  2. Update SIMATIC S7-1500 CPU 1518-4 PN/DP MFP to V3.1.5 or a later version.
  3. Update SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP to V3.1.5 or a later version.
  4. Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.

Affected products and versions

VendorProductAffected versionsFixed in
Https://github.com/curl/curlhttps://github.com/curl/curlFixed in 7.83.1Not stated
Haxxcurlbefore 7.86.07.86.0
NetAppsolidfire_\&_hci_storage_node0Not stated
NetAppontap_90Not stated
NetAppsolidfire_\&_hci_management_nodeh300s; h410s; h500s; h700s; 0Not stated
NetApphci_bootstrap_os0Not stated
SiemensSIMATIC S7-1500 CPU 1518-4 PN/DP MFPV3.1.0 up to, but not including, V3.1.5V3.1.5
SiemensSIMATIC S7-1500 CPU 1518F-4 PN/DP MFPV3.1.0 up to, but not including, V3.1.5V3.1.5
SiemensSIPLUS S7-1500 CPU 1518-4 PN/DP MFPV3.1.0 up to, but not including, V3.1.5V3.1.5
NetAppClustered Data OntapNot specified in the recordNot stated
NetAppSolidfire, Enterprise Sds & Hci Storage NodeNot specified in the recordNot stated
NetAppH410s FirmwareNot specified in the recordNot stated
NetAppH700s FirmwareNot specified in the recordNot stated
NetAppH500s FirmwareNot specified in the recordNot stated
NetAppH300s FirmwareNot specified in the recordNot stated
SplunkUniversal Forwarder8.2.0 up to, but not including, 8.2.12; 9.0.0 up to, but not including, 9.0.6; 9.1.08.2.12, 9.0.6

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
NoneNo account or login is needed.
User interaction
NoneNo action by a victim is required.
Scope
UnchangedImpact stays within the vulnerable component.
Confidentiality
NoneNo data is disclosed.
Integrity
HighData or code can be modified at will.
Availability
NoneAvailability is not affected.

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N. Scored by NVD.

Scoring systemScoreSeverityScored by
CVSS 3.17.5HighNVD
CVSS 3.15.3MediumCISA (ADP)
CVSS 2.05.0MediumNVD

Official description

The curl URL parser wrongly accepts percent-encoded URL separators like '/'when decoding the host name part of a URL, making it a *different* URL usingthe wrong host name when it is later retrieved.For example, a URL like `http://example.com%2F127.0.0.1/`, would be allowed bythe parser and get transposed into `http://example.com/127.0.0.1/`. This flawcan be used to circumvent filters, checks and more.

Source: the CVE record as published by its numbering authority, via NVD and CVE.org.

The underlying weakness: Server-Side Request Forgery

The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.

How developers prevent this class of flaw

  • If there is a known list of applications, IP, hostname, and/or domains to which the product is allowed to communicate, then use allowlists to ensure that outgoing requests are restricted to these known entities. The allowlists could be in the application code or possibly enforced by firewalls or network segmentation.
  • If the product is expected to be able to connect to arbitrary IP addresses or domains, consider using a denylist that includes private network addresses, internal domain names, etc. The denylist could be in the application code or possibly enforced by firewalls or network segmentation.

More Server-Side Request Forgery vulnerabilities (CWE-918)

Timeline

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

References

Third-party and government advisories

Technical write-ups (may include proof of concept)

Other vulnerabilities in https://github.com/curl/curl

All https://github.com/curl/curl vulnerabilities

Recent Server-Side Request Forgery vulnerabilities

Spotted an error? Tell us.