ডেবিয়ান টেস্টিং / জেসিতে আমি শেলশক সুরক্ষার দুর্বলতা কীভাবে ঠিক করব?


24

পরীক্ষা আদেশ

x='() { :;}; echo vulnerable' bash

আমার ডেবিয়ান 8 (জেসি) ইনস্টলেশনটি সর্বশেষ আপডেটের পরেও দুর্বল shows গবেষণা দেখায় যে স্থিতিশীল এবং অস্থির জন্য একটি প্যাচ আছে, তবে সেই পরীক্ষার তুলনা নেই।

আমি অনুমান করেছি যে প্যাচটি কয়েক দিনের মধ্যে এটি পরীক্ষায় পরিণত করবে, তবে এটি আসলে অদ্ভুত বলে মনে হচ্ছে যথেষ্ট খারাপ। অস্থির থেকে প্যাকেজটি পাওয়ার এবং আমার সিস্টেমটি না ভেঙে ইনস্টল করার কোনও উপায় আছে কি? অস্থির চেহারায় আপগ্রেড করা দেখে মনে হচ্ছে এটি সমাধানের চেয়ে আরও বেশি সমস্যা তৈরি করবে।


ববের মতে, একটি দ্বিতীয় শেলশক দুর্বলতা রয়েছে, যা দ্বিতীয় প্যাচে স্থির করা হয়েছে। এটির জন্য পরীক্ষা হওয়ার কথা:

 env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("

তবে এর অর্থ কী বা কেন এটি সমস্যা তা বোঝার জন্য আমি বাশে যথেষ্ট দক্ষ নই। যে কোনও হারে এটি অদ্ভুত কিছু করে, যা বাশ _4.৩-৯.২_amd64.deb দ্বারা -৪-বিট সিস্টেমে প্রতিরোধ করা হয়েছে, যা সম্পাদনার সময় স্থিতিশীল এবং অস্থির হয় তবে জেসি / পরীক্ষায় নয়।

জেসির জন্য এটি ঠিক করতে , অস্থির থেকে সর্বশেষতম ব্যাশ পান এবং এটি দিয়ে ইনস্টল করুন dpkg -i

জেমেনাকে অফার

wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.2_$(dpkg --print-architecture).deb

একটি কমান্ড হিসাবে যা আপনার মেশিনের জন্য 4.3-9.2 সংস্করণ পাবে।

এবং আপনি এটি দিয়ে অনুসরণ করতে পারেন:

sudo dpkg -i bash_4.3-9.2_$(dpkg --print-architecture).deb

এটি ইনস্টল করতে।

আপনার জেসি সিস্টেমের জন্য আপনার যদি অস্থির থেকে আরও প্যাচগুলির দরকার হয় তবে এটি স্পষ্টভাবে যাওয়ার উপায় ( মিউটাসিস মিউট্যান্ডিস )।

উত্তর:


5

এই লিঙ্কটির মাধ্যমে অস্থির থেকে প্যাকেজটি ডাউনলোড করুন । আপনি সেখানে নির্ভরতাও পরীক্ষা করতে পারেন, যদিও দেখে মনে হচ্ছে অস্থির ব্যাশের পরীক্ষা থেকে বাশের মতো একই নির্ভরতা রয়েছে। নিম্নলিখিতটি দিয়ে ডাউনলোড করা ডেবটি ইনস্টল করুন।

dpkg -i

1
ধন্যবাদ, আমি এটি করেছি এবং এটি লক্ষণীয়ভাবে কোনও ক্ষতি না করেই সমস্যার সমাধান করেছে। সম্ভবত এটি আপডেটের স্বাভাবিক কোর্সে অবশেষে ওভাররাইট হয়ে যাবে?
জন লরেন্স অ্যাসপডেন

3
উপরের লিঙ্কটি ঠিক আছে যদি আপনি কোনও জিইআইতে ব্রাউজার চালাচ্ছেন। কম তাই যদি আপনি শেল সেশনে লিংক চালাচ্ছেন। আপনি wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.1_$(dpkg --print-architecture).deb এটি পেতে আপনার কমান্ড-লাইনে ডানদিকে পেস্ট করতে পারেন এমন কিছু চাইলে চেষ্টা করুন: এটি আপনার বাক্সের জন্য সঠিক আর্কিটেকচারটি পাবে।
জেমেনকে

1
@ জেমেনাকে আপনার আলাদা উত্তর হিসাবে পোস্ট করা উচিত।
এক্সেলেল

এটি অবশ্যই আমি চেয়েছিলাম এমন উত্তর ছিল, তবে এখন আপডেটটি জেসির কাছে পরিণত হয়েছে বলে আমি মনে করি যে গ্রহণযোগ্য উত্তরটি এখনকার লোকদের প্রয়োজন হয়, তাই আমি টিকটি চালিয়ে যাচ্ছি। ধন্যবাদ যদিও!
জন লরেন্স অ্যাসপডেন

প্রকৃতপক্ষে, দুটি শেলশক বাগ রয়েছে, এবং দ্বিতীয়টির জন্য ঠিক করা এখন জিসি নয়, তবে এটি এখনও সঠিক উত্তর, (নিশ্চিত হয়ে নিন যে আপনি 4.3-9.2 পেয়েছেন!) তবে নিঃসন্দেহে পরিস্থিতি সমাধান হবে শীঘ্রই.
জন লরেন্স অ্যাসপডেন

25

সোমবার প্রকাশিত অতিরিক্ত বাশ ফিক্সগুলির জন্য আমি এই উত্তরটি সম্পাদনা করেছি।

উবুন্টু 12.04-র জন্য আমি একটি আপডেট চালিয়েছি, তবে দুর্বলতা থেকে মুক্তি পেতে বাশের জন্য ইনস্টলটি চালাতে হয়েছিল।

root@host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test

এই কমান্ডটি সিস্টেমকে দুর্বল দেখায় তাই আপডেটটি চালান।

apt-get update && apt-get -y upgrade

আবার পরীক্ষা।

root@host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test

এখনও দুর্বল।

apt-get install -y bash

আবার পরীক্ষা।

root@host:/home/ubuntu# 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

সম্পাদনা করুন: অতিরিক্ত প্যাচগুলি প্রকাশের পরে, আউটপুট পরিবর্তিত হয়েছে।

root@host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test

হ্যাঁ! সংশোধন করা হয়েছে। এটি অন্যান্য সংস্করণের জন্য কাজ করা উচিত, তবে আমি এটি 12.04 এর বাইরে পরীক্ষা করিনি।

এছাড়াও, নীচে রণমোকের জবাব ভালভাবে কাজ করে, তাই তাকে একটি উঁচুতে দিন!


6
শুধু apt-get update && apt-get install -y bashকাজ মনে হচ্ছে।
রানামোক

@ জাবাওকজায়উকের উত্তরের ভিত্তিতে আমি উবুন্টু ১২.০৪-তে বাশ আপডেটের পরে প্রথম পরীক্ষায় ব্যর্থ হয়েছি।
বিড়লা

আমি কেবল পাচ্ছি this is a testতবে ত্রুটি এবং সতর্কতা পাচ্ছি না। আমার স্থানীয় মেশিনে আমি ত্রুটি পেয়েছি, তবে আমার সার্ভারে নেই। কি পরিমাপ করে? আমার সার্ভার প্যাচ করা আছে? ধন্যবাদ.
এলবুলপ

দেখে মনে হচ্ছে সংগ্রহস্থলটি এখনই আপ টু ডেট আছে, কারণ আমাকে অ্যাপটি-ইনস্টল -y পদক্ষেপটি সম্পাদন করতে হয়নি, আপগ্রেড করার পরে সমস্যাটি অ্যালডি সমাধান করা হয়েছিল।
ব্যবহারকারী 316566

1
এই সত্যিই সম্পর্কে প্রশ্নের উত্তর না ডেবিয়ান পরীক্ষামূলক / জেসি। উবুন্টু হ'ল স্বতন্ত্র প্যাকেজ সংগ্রহস্থল এবং প্যাচিং শিডিয়ুল সহ বিবিধ বিতরণ।
বব

16

ডেবিয়ান ((হুইজি) থেকে প্যাকেজ আনতে ছাড়াই ডেবিয়ান .0.০ (নিন) এর বিকল্প:

এলটিএস সুরক্ষা সংগ্রহস্থল ব্যবহার করুন যা প্যাচটি ব্যাকপোর্ট করেছে।

এটি এতে যুক্ত করুন /etc/apt/sources.list:

#LTS security
deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free

তারপরে দৌড়াও apt-get update && apt-get install bash

ভায়া: লিনাক্সকশনস


ডিবিয়ানদের জন্য কাজ করে 6.. আমরা সর্বদা তালিকায় এলটিসি সুরক্ষা রাখি!
stanleyxu2005

4

apt-get updateআগে apt-get dist-upgradeএবং আপনি প্যাচ পাবেন। কেবল এটি নিজেই করেছিলেন এবং একটি বাশ আপগ্রেড ঠেলেছে যা সমস্যার সমাধান করে।


2
সমস্যাটি হ'ল ডেবিয়ান পরীক্ষায় এখনও আপডেট হওয়া প্যাকেজটি নেই, সুতরাং এটি অস্থির থেকে ম্যানুয়ালি ডাউনলোড করা এবং এটি ইনস্টল করা ছিল সেই সময়ের সবচেয়ে সহজ সমাধান; এই উত্তরে প্রদত্ত সমাধান কাজ করবে না। (সম্ভবত এখনই এটি হবে, কারণ প্যাকেজটি টেস্টে স্থানান্তরিত হতে পারে))
ওয়ার্টেল

এটি আসল প্রশ্নের উত্তর দেয় না, তবে লোকেরা এখনই যা করা দরকার তা তাই আমি এটি গ্রহণ করছি যাতে লোকেরা প্রথম দেখবে। আমার সমস্যার 'আসল' উত্তরটি (এটি অস্থির এবং স্থিতিশীল তবে পরীক্ষায় নয়) নতুন বাশের ম্যানুয়াল ডাউনলোড ব্যবহার করে উইর্টেলের উত্তর - ????। দেব এবং ডিপিকেজি -i।
জন লরেন্স অ্যাসপডেন

আমি এটিও মনে করি যে এটি উবুন্টুর উত্তর, এখন তারা সঠিকভাবে তাদের ফিক্সটিকে ধাক্কা দিয়েছে এবং সম্ভবত অন্য কোনও ডিবিয়ান ভিত্তিক বিতরণের জন্য যা এখনও লোকেরা ঠিকঠাককে ঠেলে দিয়েছে to
জন লরেন্স অ্যাসপডেন

প্রকৃতপক্ষে দুটি শেলশক বাগ রয়েছে এবং দ্বিতীয়টির জন্য ঠিক করা এখনও জেসিতে পরিণত হয়নি।
জন লরেন্স অ্যাসপডেন

এটি এখনও একটি বৈধ সমাধান এবং যতক্ষণ না দেবিয়ান পরীক্ষার সুরক্ষা দল আপডেট চালাচ্ছে ততক্ষণ থাকবে; ওপি প্রশ্নের সময় তাদের পরীক্ষার সময় এটি থাকতে পারে না। অন্য একটি বিকল্প সকল ব্যবহারকারীকে ড্যাশ ব্যবহারের জন্য সেট করে দিচ্ছে। এটি মূলত একটি সার্ভার ইস্যু এবং নয়
এমজিডি_টোরন্টো

3

আমি আমার হ্যাকিনটোস এ এটি স্থির করেছি :

$ brew install bash

$ x='() { :;}; echo vulnerable' bash
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
bash-4.3$ 

2
এর আগে মিশ্রণটি ইনস্টল করতে ভুলবেন না ...
মার্কোস ম্যাকিয়েল

1

পুরানো উবুন্টু সংস্করণগুলিতে কীভাবে এটি ব্যবহার করতে হয় সে সম্পর্কে আমি একটি নিবন্ধ লিখেছি। আপনি মূলত আপনার উত্সগুলিকে তালিকাভুক্ত করুন list আপনি এটা ধাপে জন্য ধাপে বা থেকে এটা copypaste পড়তে পারেন এখানে

সারাংশ:

sudo sed -i 's/YOUR_OS_CODENAME/trusty/g' /etc/apt/sources.list
sudo apt-get update
sudo apt-get install --only-upgrade bash

আপনি যদি ওল্ড-রিলিজ.বুন্টু.কম ব্যবহার করেন তবে নিবন্ধটি পড়ুন এবং ভুলে যাবেন না যে আপনি এটি আবার পরিবর্তন করতে চান:

sudo sed -i 's/trusty/YOUR_OS_CODENAME/g' /etc/apt/sources.list

আহ ... এটি আপনার সিস্টেমটি Source.list- এ বিশ্বাসের সাথে ছেড়ে দেবে। পরবর্তী বার আপনি আপডেট করার পরে, সিস্টেমটি ট্রাস্টিতে আপগ্রেড হবে। এটি আপনার সিস্টেমে কিছুটা ভাঙ্গবে।
strugee

1

বাশ প্যাকেজটির স্থির সংস্করণ ( চেঞ্জলগ দেখুন ) এখন 2014-09-26 14:18 ইউটিসি-তে দেবিয়ান 8 (জেসি) এখন ( প্যাকেজের তথ্য দেখুন )।

দ্বিতীয় ফিক্স, নীচের মন্তব্যে উল্লিখিত, এখন জেসি সংগ্রহস্থলে রয়েছে। অস্থির থেকে ইনস্টল করার দরকার নেই। উপরে প্যাকেজ তথ্য লিঙ্ক দেখুন।

অস্থির থেকে আর ইনস্টল করার দরকার নেই।

শুধু রান:

# aptitude update

অনুসরণ করেছে:

# aptitude upgrade

তারপরে যাচাই করুন যে দুর্বলতা চলে গেছে (নতুন খোলা শেলের মধ্যে):

$ x='() { :;}; echo vulnerable' bash
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'

সিভিই -2014-7169 অনুসরণ এখনও ঠিক করে না।
বব

@ Bob, আমার মনে হয় এটি কেবল উবুন্টুর সাথেই প্রাসঙ্গিক? এবং সম্ভবত উবুন্টু এটি ইতিমধ্যে ঠিক করে ফেলেছে।
জন লরেন্স অ্যাসপডেন

পুনঃটুইট দৌড়ানোর চেষ্টা করুন env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("- যদি এটি প্রিন্ট করে still vulnerableতবে তারপরে পরেরটি এখনও প্যাচ করে না। আফাইক, জেসি এখনও দুর্বল। মনে রাখবেন যে কমান্ডটি echoযদি সফল হয় তবে বর্তমান ডিরেক্টরিতে একটি ফাইল তৈরি করবে এবং পরীক্ষাটি পুনরায় চালানোর আগে আপনাকে এটি মুছতে হবে।
বব

@ بابি, আমি এর মাথা বা লেজ বানাতে পারি না, সেমিকোলনটি কী করছে?
জন লরেন্স অ্যাসপডেন

@ بابি, তবে যা-ই করুন না কেন, আপনি ঠিক বলেছেন যে অস্থির 4..৩-৯.২ সংস্করণে আপগ্রেড করা বন্ধ করে দিয়েছে!
জন লরেন্স অ্যাসপডেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.