OpenSSL 3 vulnerabilities 2022-11-01

The OpenSSL project has released the details on two vulnerabilities affecting OpenSSL 3.0.0 through 3.0.6 at [ Vulnerabilities ] - /news/vulnerabilities.html .

While last week’s pre-announcement indicated at least one of these would be Critical, the severity has since been downgraded to High based on mitigating factors.

https://cve.org/CVERecord?id=CVE-2022-3786
https://cve.org/CVERecord?id=CVE-2022-3602

Our understanding at this time is that the vulnerabilities affect OpenSSL when used in both client and server roles and there may be a range of affected products. OpenSSL is generally used in three ways -

  • Installed as a system-wide library and used by applications (i.e. OpenSSL RPM or Debian Packages provided by the OS vendor)
  • Delivered with a software application and used as a dynamic library (i.e. a product that delivers separate standalone libraries such as ‘libssl-3-X.so’ or ‘libssl-3-X.dll’
  • Statically compiled into executable programs. In this case there are no standalone library files delivered, the OpenSSL code is incorporated directly into the program binary.

BigFix Response

  • There are no BigFix products affected by these vulnerabilities

  • We expect the operating system vendors to provide package updates shortly and will be delivering Fixlets for these updates through the normal patch sites.

  • We expect a number of application vendors will publish updated patches, and we will produce Fixlet content for supported products as they become available.

  • BigFix Inventory Signatures for detecting OpenSSL Libraries have been published to bigfix.me. See the detailed posting at How to use BigFix Inventory to discover applications that may be affected by OpenSSL vulnerability (CVE-2022-3786 and CVE-2022-3602) for more information.

  • We are working on Tasks and Analysis to perform scans of binary files on endpoints to detect the statically-compiled case. This content is detailed below.

  • We do not expect a simple detection based on network port probing, as was produced for the OpenSSL “HeartBleed” vulnerability in 2014. We are not currently investigating any network-based detection.

Binary Scanning Content

The BigFix team plans to publish content to scan endpoints and provide a listing of potentially-affected executable and library files. This scan is based on tooling from the YARA toolset, maintained by VirusTotal at GitHub - VirusTotal/yara: The pattern matching swiss knife

YARA is an advanced malware analysis tool that provides for inspecting files or system memory to look for defined signatures. In general use this is used to identify and classify new variants of malware, but is providing useful in this case for identifying the signatures of executable files and libraries compiled to use OpenSSL 3.

Initial publication will be made through the ‘Vulnerability Reporting’ site.

If you wish to test our pre-release content, you may do so at your own risk. The YARA content we are developing has the following known-issues, and may still contain unknown-issues at this point:

  1. The YARA scan tool does not provide options for scan throttling.
    – The only option available is to limit the number of threads used. Our test content has this limited to a single thread, which results in a longer scan time but may help to reduce system load somewhat. There is no option to limit processor or disk i/o usage, and we have observed high disk i/o during scans.
    – Be sure to take care when executing scans, especially where those scans impact shared resources such as VM infrastructure or shared SAN resources.

  2. The YARA scan tool, on Windows, requires Visual C++ runtime installations. If not present or not at the current version, Visual C++ runtime libraries are installed as part of the scan task and remain installed on the system after the scan completes.

  3. The Scan tasks have no Default Action, as care should be taken when schedule scans.

  4. The Scan tasks have options in the Description tab to determine what should be scanned. By default all local filesystems are scanned. Optionally you may instead opt to scan only a specific subdirectory, which may be useful in testing specific products. Regardless of which option is selected, only the latest set of scan results is available for reporting.

  5. YARA scan tasks for Linux and Mac are not yet available, but are in work. The main limitation being that we plan to compile and provide our own distribution of YARA for Linux and Mac. (The YARA project itself provides prebuilt binaries for Windows but not for Linux or Mac).

With those considerations, if you wish to test this pre-release content you may do so by importing and executing the Tasks and activating the Analysis at

The Analysis provides three properties:

  • OpenSSL File Detections (3.0.0 - 3.0.6) : A listing of detected OpenSSL version, and the file in which OpenSSL was found
  • OpenSSL Versions Found (3.0.0 - 3.0.6): A listing of the unique OpenSSL versions that were found across all files on the scanned machine.
  • Scan Time: The time at which the scan began executing, in format YYYYMMDD_HHMMSS UTC time.

Sample results below:

image

We welcome any & all feedback if you proceed with testing this pre-release content, and I appreciate your effort and patience as we all work to mitigate this issue.

14 Likes

You rock, @JasonWalker!

3 Likes

And this is why BigFix is #1!

3 Likes

I’ve made two small changes to the Windows scan tasks

  • Extend the scan timeout from one hour to six hours. One hour is proving insufficient to complete scans on some filesystems. This may need to be extended further to scan very large volumes.
  • Modified the check for existing YARA binaries on the client (for a more common check as we add operating systems)

Both edits are live at github now.

2 Likes

Fantastic job.

I do have a tiny issue though, with the “multiple results” bit, i want to modify the query to give me a "concatenation ", " of " the keys in the json file so it all reports out on a single line for readability for when there are multiple results without having to go in on each computer to read the location.

Cant seem to figure out where in the analysis job to fit it in, any tips?

The sha256 for the zip tool and the yara executable seem to be wrong.

Thank you @fermt, yes I see what happened and will be posting a correction shortly

The corrected downloads are posted on GitHub. Apologies for my mistake there.

When upgrading from the 4.2.0 to 4.2.3 version of the YARA scanner, I incorrectly applied the updated sha256 hash to the unzip.exe download. I failed to catch that on my side because I already had all of the downloads cached and I missed that the downloads were not re-attempted on my deployment.

I’ve also added an “OpenSSL Scan Duration” property to the Analysis. This reports the duration of the scan in HH:MM:SS format. This may help us detect an edge case - if the scan duration is almost exactly 6 hours (or 1 hour with the first scans I posted yesterday), the scan may have timed-out rather than completing so you may not have full results.

1 Like

Do you want just a listing of filenames, or the OpenSSL version and filename for each result? That could make for a very long string if you want a single result…

For filenames only, you could use

q: concatenation "; " of (it as string) of (values of keys "file" of it) of elements of values of keys "results" of jsons of files "results-OpenSSL_3_lower_307.json" of folders "results" of folders "yara" of parent folder of parent folder of client folder of site "actionsite"
A: C:\OpenSSL\3.0.0\bin\libcrypto-3-x64.dll; C:\OpenSSL\3.0.0\bin\openssl.exe; C:\OpenSSL\3.0.0\libcrypto-3-x64.dll; C:\OpenSSL\3.0.2\bin\libcrypto-3-x64.dll; C:\OpenSSL\3.0.2\bin\openssl.exe; C:\OpenSSL\3.0.2\libcrypto-3-x64.dll; C:\Program Files\Certbot\Python\_hashlib.pyd

Best option is to Query the resuts using WebReports and when you add the filename property to the report, change the [+] to [-] and you should see all the results for that property enumerated.

Thanks, you are the man!

10 posts were split to a new topic: Vulnerability Reporting site duplication

Good Day Everyone!!
Is there a way to identify which application(s) installed OpenSSL v3 ?

There sure is! Read through this thread…

3 Likes

Added link to the BigFix Inventory custom sigature description at How to use BigFix Inventory to discover applications that may be affected by OpenSSL vulnerability (CVE-2022-3786 and CVE-2022-3602) to the first post in this thread.

2 Likes