MMCT TEAM
Server IP : 103.53.40.154  /  Your IP : 18.222.182.249
Web Server : Apache
System : Linux md-in-35.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : ppcad7no ( 715)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /admin/.cpcpan/../../scripts/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //admin/.cpcpan/../../scripts/check_mount_procfs
#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/check_mount_procfs              Copyright 2022 cPanel, L.L.C.
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

use strict;
use warnings;

use Cpanel::TempFile             ();
use Cpanel::FileUtils::Write     ();
use Cpanel::FileUtils::TouchFile ();
use Cpanel::Logger               ();

my $logger = Cpanel::Logger->new();

exit 0 if -e '/var/cpanel/conf/jail/flags/mount_proc_jailed_fallback_none';

my $tf  = Cpanel::TempFile->new();
my $dir = $tf->dir();

my $src = $dir . '/proc_test.c';
my $bin = '/root/.__proc_test_bin';

Cpanel::FileUtils::Write::overwrite_no_exceptions( $src, <<'EOF', 0600 );
#include <sys/mount.h>

#define MOUNTPOINT "/root/.__proc_test"

int main(int argc, char *argv[]){
    mount(0, MOUNTPOINT, "proc", 0, "");
    umount(MOUNTPOINT);
    return 0;
}
EOF

my $gcc_status = system qw(/usr/bin/gcc -Wall -o), $bin, $src;

if ( $gcc_status == 0 ) {
    mkdir '/root/.__proc_test';
    my ($sys) = ( `/usr/bin/time -p $bin 2>&1` || '' ) =~ /sys ([\d.]+)$/m;
    if ( defined($sys) ) {
        if ( $sys > 0.5 ) {
            $logger->warn("Mounting procfs took more than half a second of system time. This is a symptom of an outdated kernel. Disabling full procfs mounting in jailshell. Please note: If you re-enable full procfs mounting for jailshell without first updating your kernel, this could lead to extreme system load.");
            system qw(mkdir -p /var/cpanel/conf/jail/flags);
            unlink '/var/cpanel/conf/jail/flags/mount_proc_full';
            unlink '/var/cpanel/conf/jail/flags/mount_proc_jailed_fallback_full';
            Cpanel::FileUtils::TouchFile::touchfile('/var/cpanel/conf/jail/flags/mount_proc_jailed_fallback_none');
        }
    }    # else fail silently
    rmdir '/root/.__proc_test';
    unlink '/root/.__proc_test_bin';
}    # else fail silently

MMCT - 2023