KernelCare Blog - The Symlink Protection patchset is available for free for CentOS 6 & 7, even if you are not running KernelCare
KernelCare Blog

The Symlink Protection patchset is available for free for CentOS 6 & 7, even if you are not running KernelCare

The Symlink Protection patchset is available for free for CentOS 6 & 7, even if you are not running KernelCare

A few weeks ago we released the KernelCare "Extra" Patchset with the security fixes and the symlink protection available to all KernelCare customers running CentOS kernels. Today we are pleased to share that you can get the Symlink Protection Patchset for CentOS 6 and 7 at no cost, even if you don’t have licenses of KernelCare.

We’ve been discussing with the cPanel team on how to help with hardening of their customers' system kernels. This Symlink Protection Patchset will protect CentOS 6 and 7 systems and will help defend shared hosting servers, including the cPanel servers, against symlink attacks.

A symlink race attack is frequently used against shared hosting servers. It allows a malicious user to serve files that belong to other users by creating a symbolic link to those files. It is often used to access config.php files that belong to others. This patchset helps protect against such attacks.

Note that this patchset includes only the symlink protection, and does not include the security fixes (those are available to KernelCare customers) - you will still need to update kernel and REBOOT each time new CentOS kernel is released to keep your kernel secure.

We recommend the installation of this patchset on CentOS 6 and CentOS 7 to make your servers more secure.

How to install the free symlink protection patchset:

Below we provide instructions on how to install KernelCare and run this patchset for free. Though this symlink protection patchset is part of KernelCare, it does not require you to purchase a license or even register for the KernelCare free trial (if you choose to purchase a license at a later date, information on how to upgrade will be published in the documentation soon).

To enable the symlink protection, perform the following steps:

First, install KernelCare client:

curl -s https://repo.cloudlinux.com/kernelcare/kernelcare_install.sh | bash

Enable free patch type, this patch type doesn't require a license

kcarectl --set-patch-type free --update

The ‘free’ patch will be applied on the next update.

. . .

During the installation, you should see something similar to:


OS: CentOS6
kernel: kernel-2.6.32-696.el6
time: 2017-06-22 16:13:40
uname: 2.6.32-642.15.1.el6

kpatch-name: 2.6.32/symlink-protection.patch
kpatch-description: symlink protection // If you see this patch, it mean that you can enable symlink protection.
kpatch-kernel: kernel-2.6.32-279.2.1.el6
kpatch-cve: N/A
kpatch-cvss: N/A
kpatch-cve-url: N/A
kpatch-patch-url: https://gerrit.cloudlinux.com/#/c/16508/

kpatch-name: 2.6.32/symlink-protection.kpatch-1.patch
kpatch-description: symlink protection (kpatch adaptation)
kpatch-kernel: kernel-2.6.32-279.2.1.el6
kpatch-cve: N/A
kpatch-cvss: N/A
kpatch-cve-url: N/A
kpatch-patch-url: https://gerrit.cloudlinux.com/#/c/16508/


Edit the file /etc/sysconfig/kcare/sysctl.conf (or create it if it doesn't exist) - add the lines:

fs.enforce_symlinksifowner = 1
fs.symlinkown_gid = 48


Execute:

sysctl -w fs.enforce_symlinksifowner=1
sysctl -w fs.symlinkown_gid=48

Note: On standard RPM Apache installation, Apache is usually running under GID 48. On cPanel servers, Apache is running under user nobody, GID 99.

Click here to learn more about KernelCare.
 

Beta: EasyApache 4 updated
Beta: LVE Manager updated
 

Comments 108

Guest - Irina on Thursday, 16 November 2017 13:51

Hello!

Free symlink protection (kernel level) does not interfere with mod_ruid2 (apache level). So you should not need to disable the patch.

Regards,

Hello! Free symlink protection (kernel level) does not interfere with mod_ruid2 (apache level). So you should not need to disable the patch. Regards,
Guest - Flavio on Thursday, 16 November 2017 22:07

Hello Irina,

i have tried to install the patch, this is the output after i launched "curl -s https://repo.cloudlinux.com/kernelcare/kernelcare_install.sh | bash"

Installing : kernelcare-2.13-2.x86_64 1/1
pyOpenSSL module is not found. To be able to validate SSL certificates of hosts with SNI support please, install pyOpenSSL >= 0.13
Requesting trial license for 95.141.33.79, please wait...
HTTP Error 403: Forbidden, Retrying in 3 seconds...
Requesting trial license for 95.141.33.79, please wait...
HTTP Error 403: Forbidden, Retrying in 6 seconds...
!!!! /etc/yum/universal-hooks/posttrans/cp_clear_packman_cache is not executable
Verifying : kernelcare-2.13-2.x86_64 1/1

Installed:
kernelcare.x86_64 0:2.13-2

But when i launch the command "kcarectl --set-patch-type free --update" i got this

'free' patch type is unavailable for current kernel

My kernel version is 3.10.0-693.2.2.el7.centos.plus.x86_64

What should I do?

Hello Irina, i have tried to install the patch, this is the output after i launched "curl -s https://repo.cloudlinux.com/kernelcare/kernelcare_install.sh | bash" Installing : kernelcare-2.13-2.x86_64 1/1 pyOpenSSL module is not found. To be able to validate SSL certificates of hosts with SNI support please, install pyOpenSSL >= 0.13 Requesting trial license for 95.141.33.79, please wait... HTTP Error 403: Forbidden, Retrying in 3 seconds... Requesting trial license for 95.141.33.79, please wait... HTTP Error 403: Forbidden, Retrying in 6 seconds... !!!! /etc/yum/universal-hooks/posttrans/cp_clear_packman_cache is not executable Verifying : kernelcare-2.13-2.x86_64 1/1 Installed: kernelcare.x86_64 0:2.13-2 But when i launch the command "kcarectl --set-patch-type free --update" i got this 'free' patch type is unavailable for current kernel My kernel version is 3.10.0-693.2.2.el7.centos.plus.x86_64 What should I do?
Guest - Irina on Friday, 17 November 2017 11:55

Hi!

You are using CentOS Plus kernel, we support only CentOS 6/7 for the Free/Extra patchset.

Hi! You are using CentOS Plus kernel, we support only CentOS 6/7 for the Free/Extra patchset.
Guest - Mustafa on Tuesday, 12 December 2017 22:15

Hello

For Cpanel + Litespeed web server

fs.symlinkown_gid=48
Or
fs.symlinkown_gid=48

Required?

Hello For Cpanel + Litespeed web server fs.symlinkown_gid=48 Or fs.symlinkown_gid=48 Required?
Guest - Mustafa on Tuesday, 12 December 2017 22:15

Or
fs.symlinkown_gid=99
?

Or fs.symlinkown_gid=99 ?
Igor Seletskiy on Wednesday, 13 December 2017 01:29

For cPanel, you need fs.symlinkown_gid=99

For cPanel, you need fs.symlinkown_gid=99
Guest - has on Tuesday, 12 December 2017 23:03

Is there a way to do live test to find out your patch is on or not?
I mean from SSH or from user host account?
Regards

Is there a way to do live test to find out your patch is on or not? I mean from SSH or from user host account? Regards
Igor Seletskiy on Wednesday, 13 December 2017 01:30

you cannot test it from ssh, as the way to exploit the race condition is through web (apache/litespeed). And it is not simple, you need a script that does it.

you cannot test it from ssh, as the way to exploit the race condition is through web (apache/litespeed). And it is not simple, you need a script that does it.
Igor Seletskiy on Wednesday, 13 December 2017 01:28

For cPanel you need 99.

For cPanel you need 99.
Guest - Alec Hanson on Monday, 08 January 2018 21:41

Hi,

I get the following message when I try to install the free patch:

[email protected] [/etc/sysconfig/kcare]# kcarectl --set-patch-type free
Unknown Kernel (CentOS 2.6.32-696.18.7.el6.x86_64)

Hi, I get the following message when I try to install the free patch: [email protected] [/etc/sysconfig/kcare]# kcarectl --set-patch-type free Unknown Kernel (CentOS 2.6.32-696.18.7.el6.x86_64)
Already Registered? Login Here
Guest
Sunday, 15 September 2019

Captcha Image