Table of Contents

Introduction

If you've searched for OpenVMS vulnerabilities at either the https://cve.mitre.org/ or https://nvd.nist.gov/ you may have run across CVE-2017-17482

Details

Per the Nist site, this Vulnerability and Exposure states the following 1)

An issue was discovered in OpenVMS through V8.4-2L2 on Alpha and through V8.4-2L1 on IA64, and VAX/VMS 4.0 and later. A malformed DCL command table may result in a buffer overflow allowing a local privilege escalation when a non-privileged account enters a crafted command line. This bug is exploitable on VAX and Alpha and may cause a process crash on IA64. Software was affected regardless of whether it was directly shipped by VMS Software, Inc. (VSI), HPE, HP, Compaq, or Digital Equipment Corporation.

Solution

Alpha customers running VSI OpenVMS V8.4-2L1 or VSI OpenVMS V8.4-2L2 for Alpha, contact VSI support to obtain the appropriate patch version.

IA64 customers running VSI OpenVMS V8.4-1H1, VSI OpenVMS V8.4-2, or VSI OpenVMS V8.4-2L1, if you have a support contract with HPE for your version, contact HPE customer support to obtain the patch; otherwise, contact VSI support.2)

Workaround

For VAX, Alpha, and Integrity users unable to patch OpenVMS, here are best practices to better protect your systems from the vulnerability.

The vulnerability is in the CDU.EXE image, which is installed with CMEXEC privilege, and a workaround is to remove privileges from the image. This can be done by editing the files SYS$MANAGER:VMSIMAGES.DAT plus the master VMS$IMAGES_MASTER.DAT and then rebooting.

The relevant lines look like this (this may vary between versions of OpenVMS):

$ search sys$manager:vms$images_master.dat,vmsimages.dat cdu
******************************
SYS$COMMON:[SYSMGR]VMS$IMAGES_MASTER.DAT;1
sys$system:cdu /open /header /priv=(cmexec) !
******************************
SYS$SYSROOT:[SYSMGR]VMSIMAGES.DAT;1
SYS$SYSTEM:CDU /OPEN /HEADER /PRIV=(CMEXEC) ! 1/0/

The workaround would be to simply remove the “/PRIV=(CMEXEC)” qualifier from these lines. This prevents a non-privileged user from using the DCL “SET COMMAND”.

Along the same vein, the system DCL table could be patched to remove the COMMAND option from the SET command.

1)
1 NIST description of the vulnerability: https://nvd.nist.gov/vuln/detail/CVE-2017-17482