
Python scanner for CVE-2022-47966. Supports ~10 of the 24 affected products.
CVE-2022-47966 is a critical unauthenticated remote code execution vulnerability affecting at least 24 on-premise ManageEngine products. The vulnerability applies only if SAML SSO is enabled. For some products it also applies if SAML SSO was previously enabled.
This script is a free scanner that can be used to scan a several (but not yet all) of the affected ManageEngine products for CVE-2022-47966.
git clone https://github.com/vonahisec/CVE-2022-47966-Scan.git
cd CVE-2022-47966-Scan
pip install -r requirements.txt
or:
pip3 install -r requirements.txt
usage: cve_2022_47966_scan.py [-h] [-f FILE] [-t TARGETS] [-o OUTPUT_DIR]
Scan ManageEngine web instances for CVE-2022-47966
options:
-h, --help show this help message and exit
-f FILE File containing a list of URLs to scan
-t TARGETS Comma-separated list of URLs to scan
-o OUTPUT_DIR Output directory
Currently, the following affected products are fully supported:
In addition, the following products are partially supported, which means the script will obtain the version but cannot check of SAML is
The following products are not supported:
Support for some of these products may be added in the near future, though it seems unlikely that this script will ever support all.
vulnerable: The target is not patched and has SAML enabledpotentially_vulnerable: The target is not patched and:
not_patched: The target is not patched but SAML is not enabled. This means the target is not currently vulnerable, but could be rendered vulnerable by enabling SAML.likely_not_vulnerable: The target does not seem vulnerable based on the performed checks.unknown: The vulnerability status could not be determined, most likely because the product version could not be obtained or was not recognized.
The script will generate a JSON file calledcve_2022_47966_scan.json - JSON file with the product name, version, SAML configuration status, vulnerability status and other relevant information for any systems that were recognized by the script.cve_2022_47966_scan.txt - Text file with a human-readable breakdown of the results. This is identical to the report being printed to the console (minus the ANSI colors)cve_2022_47966_scan_unidentified.json - JSON file with information on systems that could not be identified, but still seem worth reporting on because the strings ManageEngine and/or manageengine were found in the response body sent by the server.In an attempt to provide relatively complete results despite the limitations mentioned above, the script reports on all systems, even those found not to be vulnerable as well as web apps that could be ManageEngine products but were not recognized by the script.
The scanner is super light. For most of the supported apps, the scanner performs exactly two HTTP requests:
For a few products, one additional GET request is performed to manually follow a redirect. For some products, the POST request is not even performed.
Please refer to the official ManageEngine security advisory for a full list of affected applications and the relevant patches.
This scanner is provided as is. PR's and issues are welcomed, and we hope to add support for additional targets in the near future. However, we cannot guarantee support for this tool.