Medium · published August 6, 2021
When curl is instructed to download content using the metalink feature, thecontents is verified against a hash provided in the metalink XML file.The metalink XML file points out to the client how to get the same contentfrom a set of different URLs, potentially hosted by different servers and theclient can then download the file from one or several of them. In a serial orparallel manner.If one of the servers hosting the contents has been breached and the contentsof the specific file on that server is replaced with a modified payload, curlshould detect this when the hash of the file mismatches after a completeddownload. It should remove the contents and instead try getting the contentsfrom another URL. This is not done, and instead such a hash mismatch is onlymentioned in text and the potentially malicious content is kept in the file ondisk.
| Product | Versions | Fixed in |
|---|---|---|
| haxx/curl | ≥ 7.27.0, < 7.78.0 | 7.78.0 |
| fedoraproject/fedora | all versions | — |
| netapp/cloud_backup | all versions | — |
| netapp/clustered_data_ontap | all versions | — |
| netapp/hci_management_node | all versions | — |
| netapp/solidfire | all versions | — |
| oracle/mysql_server | ≥ 5.7.0, ≤ 5.7.35 | — |
| oracle/mysql_server | ≥ 8.0.0, ≤ 8.0.26 | — |
| siemens/sinec_infrastructure_network_services | < 1.0.1.1 | 1.0.1.1 |
| netapp/h300s_firmware | all versions | — |
| netapp/h500s_firmware | all versions | — |
| netapp/h700s_firmware | all versions | — |
| netapp/h300e_firmware | all versions | — |
| netapp/h500e_firmware | all versions | — |
| netapp/h700e_firmware | all versions | — |
| netapp/h410s_firmware | all versions | — |
| splunk/universal_forwarder | ≥ 8.2.0, < 8.2.12 | 8.2.12 |
| splunk/universal_forwarder | ≥ 9.0.0, < 9.0.6 | 9.0.6 |
| splunk/universal_forwarder | all versions | — |