Loading

×Sorry to interrupt
Uncaught ReferenceError: addCTracking is not defined
throws at https://kb.vmware.com/resource/KM_TealiumTrackingJS?v=0.5:100:1

Refresh

Cookie Preference Center

General Information on cookies

When you visit our website, we use cookies to ensure that we give you the best experience. This information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies by clicking on the different category headings to find out more and change your settings. However, blocking some types of cookies may impact your experience on the site and the services we are able to offer. Further information can be found in our

Cookie Policy.

Strictly Necessary

Strictly Necessary

Always Active

Strictly Necessary

Strictly necessary cookies are always enabled since they are essential for our website to function. They enable core functionality such as security, network management, and website accessibility. You can set your browser to block or alert you about these cookies, but this may affect how the website functions. For more information please visit www.aboutcookies.org or www.allaboutcookies.org.

Cookie Details‎

Performance

Performance

Performance

Performance cookies are used to analyze the user experience to improve our website by collecting and reporting information on how you use it. They allow us to know which pages are the most and least popular, see how visitors move around the site, optimize our website and make it easier to navigate.

Cookie Details‎

Please confirm your settings by refreshing the page.

Functional

Functional

Functional

Functional cookies help us keep track of your past browsing choices so we can improve usability and customize your experience. These cookies enable the website to remember your preferred settings, language preferences, location and other customizable elements such as font or text size. If you do not allow these cookies, then some or all of these services may not function properly.

Cookie Details‎

Advertising

Advertising

Advertising

Advertising cookies are used to send you relevant advertising and promotional information. They may be set through our site by third parties to build a profile of your interests and show you relevant advertisements on other sites. These cookies do not directly store personal information, but their function is based on uniquely identifying your browser and internet device.

Cookie Details‎

Advertising Cookies

Consent Leg.Interest

Select All Vendors

Select All Vendors

Select All Hosts

Select All

Clear Filters

Information storage and access

Apply

Confirm My Choices Reject All Allow All

My Subscriptions

Loading

Knowledge Base

CVE-2019-20477, CVE-2020-1747 - PyYAML: arbitrary command executions in vRealize Operations (79055)

Last Updated: 5/21/2020Categories: SecurityTotal Views: 2444Language:
English

Subscribe to get an email
newsletter with new updates

Please provide article feedback:

Symptoms

Security scans running on vRealize Operations, vRealize Operations Cloud proxy and standalone Application Remote Collector appliances might report CVE-2019-20477, CVE-2020-1747 vulnerabilities, similar to the below:

CVE-2019-20477:

PyYAML 5.1 through 5.1.2 has insufficient restrictions on the load and load_all functions because of a class deserialization issue.

According to PyYAML Wiki - https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation :

"PyYAML's load function has been unsafe since the first release in May 2006. It has always been documented that way in bold type: PyYAMLDocumentation. PyYAML has always provided a safe_load function that can load a subset of YAML without exploit."

According to MISC:https://www.exploit-db.com/download/47655 :

The proper mitigation to avoid RCE during the processing of YAML data is to use safe_load(), safe_load_all(), load(‘data’, Loader=SafeLoader) functions to deserialize data.

CVE-2020-1747:

A vulnerability was discovered in the PyYAML library in versions before 5.3.1, where it is susceptible to arbitrary code execution when it processes untrusted YAML files through the full_load method or with the FullLoader loader

According to https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-1747:

“When untrusted input needs to be parsed, `SafeLoader` or `yaml.safe_load` must be used instead. This has been documented for a very long time in PyYAML.”

According to PyYAML Wiki - https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation :

"PyYAML's load function has been unsafe since the first release in May 2006. It has always been documented that way in bold type: PyYAMLDocumentation. PyYAML has always provided a safe_load function that can load a subset of YAML without exploit."

Resolution

vRealize Operations

In the on-Prem codebase, PyYaml is used only during functional tests which are not shipped to production.

vRealize Operations is not impacted by mentioned vulnerabilities.

vRealize Operations Cloud Proxy

On vRealize Operations Cloud Proxy, only the salt-master docker container uses the pyyaml library.
The salt state files are in JINJA.
pyyaml is used to convert validated JINJA files packaged with ARC to YAML during execution of the salt state file.
There is no untrusted input.
Calls in salt-master always use safe_load(), there is no usage of PyYaml problematic load functions.

vRealize Operations Cloud Proxy is not impacted by mentioned vulnerabilities.

Application Remote Collector appliance

On the Application Remote Collector appliance, only the salt-master docker container uses the pyyaml library.
The salt state files are in JINJA.
pyyaml is used to convert validated JINJA files packaged with ARC to YAML during execution of the salt state file.
There is no untrusted input.
Calls in salt-master always use safe_load(), there is no usage of PyYaml problematic load functions.
Also there is only one user, root, on the ARC VA.
Hence, the only way some untrusted yaml could be executed on the salt master, is if a root breach happens.

Application Remote Collector appliance is not impacted by mentioned vulnerabilities.

Related Information

PyYAML Wiki
bugzilla.redhat.com
Saltstack Wiki

Detectable by VMware SkylineTM

Actions

Copy

link to clipboard
copied!

Print

Language:
English

Attachments

Additional Resources

KB
•
Workspace ONE Content 3.22 for Android リリースのお知らせ (78776)

Result 1 of 1

Ask The Community

Get answers quickly from VMware experts in the community

Post Subject

CONTINUE IN COMMUNITIES

Related Products:

VMware vRealize Operations Manager

VMware vRealize Operations

Related Versions:

VMware vRealize Operations 8.x

Take Our Survey

Support Assistant