Home PC Games Linux Windows Database Network Programming Server Mobile  
           
  Home \ Linux \ Bash code injection attacks through a special environment variable     - To use Java arrays implement the order form (Programming)

- Use PDFBox parse PDF file (Linux)

- How Mutt mail client to use cipher text password (Linux)

- About Linux operating system security (Linux)

- Common Linux system performance monitoring command (Linux)

- Three kinds of binary tree traversal recursive and iterative solution (Programming)

- Hadoop safe hftp (Server)

- MySQL master-slave database configuration and error handling Raiders (Database)

- Linux memory Cache Analysis (Linux)

- Python Django model within the class meta Detailed (Programming)

- JSON data normalization (normalize) (Programming)

- Default permissions Linux file and directory permissions and hide - umask, chattr, lsattr, SUID, SGID, SBIT, file (Linux)

- Linux server dual-card dual-IP and single-card dual-IP configuration method (ReHat / CentOS) (Server)

- To install MySQL 5.6 binary packages under CentOS 6.4 64bit (Database)

- To create a file in Linux directory by setfacl (Linux)

- Java, boolean operators & =, | = ^ = use (Programming)

- Advanced Search Oracle study notes (Database)

- CentOS6.5 install SVN & visual management tools iF.SVNAdmin (Server)

- RHEL 5.7 Yum configure local source [Errno 2] No such file or directory (Linux)

- How to clear the v $ archived_log view expiration information (Database)

 
         
  Bash code injection attacks through a special environment variable
     
  Add Date : 2018-11-21      
         
         
         
 

Bash or Bourne again shell, is a class UNIX shell scripts, it can be any Linux system, the most common installation components. Born from 1980 to the present, bash has grown from a simple terminal-based command interpreter to the evolution of many other strange uses.

In Linux, the environment variable affects the system software. They are composed of a name and the assignment of names. bash shell as well. In the program running in the background bash shell is very common. Typically used to provide a shell to remote users (for example via ssh, telnet), the CGI script provides parser (such as Apache), and even provides limited support for command execution (for example, git).

Back to the topic, you can create an environment variable using the value of the special processing before calling the bash shell, a fact revealed the fragility of the system. These variables can contain code, with the shell called. These processed variable names and nothing major is their content. In the following context, vulnerability exposed:

ForceCommand is sshd to use environment variables, which provide limited command authority to the remote user. This defect can be bypassed and provide any command to execute permissions. Some Git and Subversion deployment using such shell. OpenSSH routine use will not be affected, because the user has entered the shell.

If CGI scripts use bash or produce a lot of sub-shell, or use mod_cgi mod_cgid Apache server will be affected. These may be sub-shell system C language / popen use and can be used Python's os.system / os.popen, may be of PHP in CGI mode of system operation / exec to use and can be used in open shell of Perl / system use.

mod_php PHP script execution even if a large number of production sub-shell is not affected.  

DHCP client calls the shell script to configure the system, use the value from potentially malicious servers. This will allow arbitrary command execution, especially as root DHCP client.

a variety of daemons and SUID / privileged user settings and programs may use the affected user environment variables execute shell script, you can allow arbitrary command execution.

Other applications

may fall into a shell of any danger, or run as a shell script bash interpreter applications. shell script does not introduce environment variables are safe, even if they deal with insecure content and stored in the shell variable (not introduced) in and open the sub-shell.

and programming languages, Bash also function, albeit limited implementation of these functions may bash into the environment variable. This defect is triggered when these environment variables inside a function definition aft attach additional code. Like this:

$ env x = '() {:;}; echo vulnerable' bash -c "echo this is a test"
  vulnerable
  this is a test

patch to fix this flaw, make sure the tail bash function does not allow additional code. So if you use a patched version of bash to run the above example, the output should be like this:

  $ env x = '() {:;}; echo vulnerable' bash -c "echo this is a test"
  bash: warning: x: ignoring function definition attempt
  bash: error importing function definition for `x '
  this is a test

We believe that this should not affect any of backward compatibility. It will of course affect any script described above is used to create an environment variable, but doing so would be considered bad programming practice.

Red Hat security report repair the Red Hat Enterprise Linux is the problem. Fedora also fixes delivered package.

     
         
         
         
  More:      
 
- OGG-03510 Problem (Database)
- Security matters and practical Linux System (Linux)
- Linux server dual-card dual-IP and single-card dual-IP configuration method (ReHat / CentOS) (Server)
- GRUB how to load Linux kernel (Linux)
- Ubuntu install image browser and manager Phototonic 1.6.17 (Linux)
- Docker deployment practices in Ubuntu (Server)
- VMware clone Linux find eth0 (Linux)
- Linux keyboard recording script (Linux)
- Shell Scripting early experience (Programming)
- 3 tips Linux command (Linux)
- C # how to generate a folder or file automatically rename (Programming)
- Log4Net (Linux)
- Nginx load balancing configuration (http proxy) (Server)
- How to install Go1.5 source development environment on Mac (Server)
- iTerm - let your command line can also be colorful (Linux)
- Understand ASP.NET 5 running the command: DNVM, DNX, and DNU (Server)
- SQL MySQL query table duplicate data (Database)
- Three strategies to teach you to release the device memory (Linux)
- RHEL5.8 physical opportunities to Read-only file system (Linux)
- CentOS 7.0 Automatic installation CD-ROM production Comments (Linux)
     
           
     
  CopyRight 2002-2022 newfreesoft.com, All Rights Reserved.