Shellshocké¢ä¿ã§bashãã¢ãããã¼ãããå¾ã«bashãå©ç¨ãã¦ããããã»ã¹ãåèµ·åãããã©ããã¨ãã話ã
RHELã®ææ¸ã¯ã¡ãã£ã¨æ··ä¹±ãã¦ãã¦æåã¯åèµ·åãã¹ãã¨æ¸ãã¦ãã£ããããããªãããããªãã¨ã³ã¡ã³ãã§ææããåé¤ãããããã«æããããããç¾å¨ã¯shellé¢æ°ã®exportãå©ç¨ãã¦ãããµã¼ãã¹ã¯åèµ·åãããã¨ãæ¨å¥¨ãã¦ããã
Do I need to reboot or restart services after installing the update for CVE-2014-6271 and CVE-2014-7169?
If your system uses exported Bash functions, restarting affected services is recommended. Affected interactive users may have to re-login, and screen or tmux sessions may need to be restarted.
èå¼±æ§ãã®ãã®ã¯ãbashèµ·åæã«ç°å¢å¤æ°ã®å¤ãbashã®å¤æ°ãé¢æ°ã«ãã¤ã³ããã¦ããé¨åã§çºçãããããæ¢ã«èµ·åä¸ã®bashã¯è©²å½ããªãããæ°ãã«èµ·åããbashã¯ã¢ãããã¼ãå¾ã®bashã«ãªãã®ã§ãæ»æã¯ãããªãã
ããããRHELã®ææ°çã®bashã§ã¯Florian Weimerã«ããããããããã£ã¦ããããã®ãããã¯shellé¢æ°ã®exportã«é¢ããä»æ§å¤æ´ãè¡ã£ã¦ããããã®ãããshellé¢æ°ã®exportãæ³å®ãã¦ãããµã¼ãã¹ã¯åããªããªãå¯è½æ§ãããã
shellé¢æ°ã®exportãå©ç¨ãã¦ããããã»ã¹ã®ããã»ã¹IDã¯ãªã³ã¯å ã«ããããã«ä»¥ä¸ã®ã³ãã³ãã§ç¢ºèªã§ãã
$ grep -l -z '[^)]=() {' /proc/[1-9]*/environ | cut -d/ -f3
ããã«è©²å½ããã°è©²å½ããããã»ã¹IDãå©ç¨ãã¦ãããµã¼ãã¹ãåèµ·åããã°è¯ãããã ãshellé¢æ°ã®exportãæ³å®ãã¦ãããµã¼ãã¹ã¯ã¾ããªããããªæ°ããã
ã§ããã®Florianã«ãããããã®å 容ã ããshellé¢æ°ããã®ã¾ã¾exportãããã¨ãã§ããªããªã£ã¦ããã
ç°å¢å¤æ°âbashã«importããå ´åãç°å¢å¤æ°åã«prefix/suffixãä»ãã¦ããå ´åã®ã¿shellé¢æ°ã¨èªèãããprefix/suffixãé¤å¤ãã¦importããããUbuntuã®å ´åã¯prefixã¯BASH_FUNC_ãsuffixã¯()ã«ãªã£ã¦ããã
$ env 'x=() { echo "this is an imported function"; }' bash -c x bash: x: ã³ãã³ããè¦ã¤ããã¾ãã $ env 'BASH_FUNC_x()=() { echo "this is an imported function"; }' bash -c x this is an imported function
bashâç°å¢å¤æ°ã«exportããæã¯ç°å¢å¤æ°åã«prefix/suffixãä»ãã
$ bash -c 'x() { echo "this is an exported value"; }; export -f x; sh -c printenv' ... BASH_FUNC_x()=() { echo "this is an exported value" }
ç°å¢å¤æ°åã¾ã§å¤é¨ããæå®ãããã¨ãã§ããã°æ»æã¯å¯è½ãªã®ã ããé常ç°å¢å¤æ°ã¾ã§æä½å¯è½ã«ããããã«ã³ã¼ããæ¸ãã¦ããã¨ã¯èãã¥ãããã®ã§ããã®ãããã§ååãªæ°ããã¦ããã