কি সাম্প্রতিক রিমোট কোড নির্বাহ দুর্বলতা দুর্বলতা সম্পর্কে (এল Capitan উপর)


3

সাম্প্রতিক দূরবর্তী কোড নির্বাহ গিট বাগ বেশ গুরুতর দেখায়। আমি এই ভাবে পড়ি যে আমি যদি 2.7.1 এর আগে একটি জিট ক্লায়েন্ট চালাচ্ছি, তবে আমি যদি দূষিত (বা আপোস করা) রেপোর সাথে যোগাযোগ করার জন্য জিটি ব্যবহার করি তবে রিমোট কোড কার্যকর করার ক্ষেত্রে আমি সংবেদনশীল। মনে হচ্ছে গিট ক্লায়েন্টের ম্যানুয়াল আপগ্রেড ঠিক আছে, কিন্তু রুটহীন কাজগুলিকে কাজ থেকে বিরত রাখে। (আমি বর্তমানে সর্বশেষ স্থিতিশীল এক্সকোড 7.2.1)

El Capitan অধীনে এগিয়ে সবচেয়ে ভাল উপায় কি? Rootless বন্ধ এবং brew সঙ্গে ইনস্টল? উৎস থেকে একটি আপডেট গিট ক্লায়েন্ট ইনস্টল? (সর্বশেষ স্থিতিশীল বাইনারি 2.7.1 এর আগে প্রদর্শিত হবে) এক্সকোড এর একটি নতুন সংস্করণে একটি আপডেট গিট ক্লায়েন্ট আছে?


আপনি কি করতে চান তা সংকুচিত করতে এটি সম্পাদনা করতে পারেন? গিট ক্লায়েন্ট বাইনারি সরান? আপনার পথ একটি নতুন এক রাখুন? আপনার সেটআপ কি। আপনি কি গিট repos পরিবেশন করা হয়? এক্সকোড ব্যবহার করে? অথবা আপনি শুধু কাউকে বলছেন যে বক্সের বাইরে এলক্যাপিটান গিট শোনে না এবং হ্যাকযোগ্য না?
bmike

আপডেট করা হয়েছে। বর্তমান স্থিতিশীল গিট ক্লায়েন্ট (জিকোড এবং জিটি-স্কিম থেকে স্থিতিশীল বাইনারিতে) 2.7.1 এর আগে উপস্থিত রয়েছে এবং এটি একটি দূরবর্তী কোড কার্যকরকরণ দুর্বলতা রয়েছে। এল ক্যাপিটানের অধীনে একটি অ বিপজ্জনক সংস্করণে গিট ক্লায়েন্টটিকে ম্যানুয়ালি আপডেট করার সর্বোত্তম উপায় সম্পর্কে নির্দেশিকা খোঁজা।
jorfus

সম্পাদনা করার জন্য ধন্যবাদ। উইকিপিডিয়ার আরসিই এর সংজ্ঞাটি দূরবর্তী কোড কোড কার্যকর করছে - তাই একটি দূষিত সংগ্রহস্থল থেকে কোডটি টেনে আনতে জিটি ক্লায়েন্ট ব্যবহার করে আমার বইতে আরসিইয়ের চেয়ে কম মনে হয়। তা সত্ত্বেও - আপনি যদি জানতে চান যে দুর্বল গিট ক্লায়েন্টটি ব্যবহার না করা পর্যন্ত এটি / কীভাবে অ্যাপল প্যাচ করে, তা হলে এখন এটি খুলুন এবং কী ঘটেছে তা দেখুন।
bmike

1
Homebrew সিস্টেম অখণ্ডতা সুরক্ষা জরিমানা কাজ করে। @ সিডি-রুম এর উত্তর এবং আরও বিস্তারিত জানার জন্য আমার মন্তব্য দেখুন। আপনি যদি সমস্যায় পড়ে থাকেন, তবে আপনার সম্ভবত একটি পুরনো b0rked Homebrew ইনস্টলেশন যা আপগ্রেডটি বেঁচে থাকতে পারেনি (এটি বিশেষত যদি আপনি বিটা প্রোগ্রামের মাধ্যমে চলে যান)। এই ক্ষেত্রে, আপনার হোমব্রু ঠিক করার উপায়গুলির জন্য গুগল হিসাবে এটি সম্ভবত এই ধরণের সফ্টওয়্যার বজায় রাখার এবং আপডেটগুলি পরিচালনা করার সবচেয়ে পরিষ্কার উপায়।
Andrew Hodgkinson

উত্তর:


3

আপনি হোমব্রু ব্যবহার করলে এটি বেশ সহজ:

brew upgrade git
which git
=> /usr/local/bin/git
git --version
=> git version 2.7.3

সম্পন্ন.


1
আমি জানি না কেন এই ভোট আরো বেশি হচ্ছে না। হোমব্রু এখন অনেক আগে আপডেট হয়েছে এবং এল ক্যাপিটানে রুটলেস দিয়ে জরিমানা করে। /usr/local এবং /Library/Caches/Homebrew ফাইল সিস্টেম সিস্টেম সুরক্ষিত হয় না: support.apple.com/en-us/HT204899 ("তৃতীয় পক্ষের অ্যাপ্লিকেশন এবং ইনস্টলারগুলি যে পাথ এবং অ্যাপ্লিকেশনগুলি অন্তর্ভুক্ত করতে লিখতে পারে: /Applications, /Library, /usr/local ")।
Andrew Hodgkinson

2

ব্রু কখনও ওএস সংস্করণের প্রতিস্থাপন বা প্যাচ করতে কাজ করে না - এটি সচেতনভাবে কেবল অ্যাপলগুলির পাশে বাইনারি স্থাপন করার পরিবর্তে ডিজাইন করা হয়েছে।

আপনি যদি নিশ্চিত করতে চান যে কোন প্রোগ্রাম অ্যাপল এর কল করবে না /usr/bin/git অথবা আপনি এটি কল করবেন না, তাহলে এই পদক্ষেপগুলি আপনার 10.11 টি ইনস্টলেশনের শক্তিকে সফল করবে:

  1. চালান ওএস এক্স রিকভারি কমান্ড-রকে ধরে রাখার সময় ম্যাকটি শুরু হচ্ছে।
  2. টার্মিনাল চালানোর জন্য ইউটিলিটি মেনু ব্যবহার করুন
  3. csrutil disable
  4. পুনরায় বুট করার
  5. ম্যাক পুনরায় চালু করার সময় কমান্ড-এস ধারণ করে একক ব্যবহারকারী মোড প্রবেশ করান।
  6. mount -uw /
  7. rm / usr / bin / git
  8. দাঁড়ান
  9. ওএস এক্স পুনরুদ্ধারের ধাপ এবং খোলা টার্মিনাল পুনরাবৃত্তি করুন এবং চালান csrutil enable
  10. পুনরায় বুট করার

এই সময়ে, দী git অ্যাপল থেকে মুছে ফেলা হয়।

অন্যান্য জন্য অনুসন্ধান করুন git বাইনেরিতে:

  • /Library/Developer/CommandLineTools/usr/bin/git 2.5.4
  • /Applications/Xcode.app/Contents/Developer/usr/bin/git 2.5.4

আপনি খুব সামান্য ঝুঁকি থেকে আপনি শুধুমাত্র এক বাইনারি অপসারণ করতে যথেষ্ট দীর্ঘ একক ব্যবহারকারী মোডে SIP ছাড়া দৌড়ে থেকে। আপনি 18 মার্চ 2016 সাল থেকে গ্রিট 2.7.4 পেতে পারেন যদি আপনি চান:

brew install git
git --version

আপনি সমস্ত অপারেটিং সিস্টেম এক্স আপডেট দেখতে চান যে তারা অন্য কপি পপ না git যে আপনি চেয়ে কম patched এর। অধিকাংশ লোকের জন্য, আমি শুধুমাত্র প্যাচযুক্ত সার্ভারগুলিকে সংযুক্ত করতে এবং / অথবা দূষিত না বলে পরিচিতিতে ফোকাস করব। শুধু বসে থাকা গিটটি আমার পঠনের অবস্থানে কম ঝুঁকি আছে।

আগ্রহের অন্য কিছু থ্রেড:


এক্সকোড অনুসন্ধান করুন /usr/local/bin সব কি?
nohillside

আমি একটু @patrix পরীক্ষা করতে পারেন। আমার স্মৃতিচিহ্নটি হল এটি প্যাকেজগুলির নিজস্ব গিট, তাই সম্ভবত যে কেউ পুরোনো গিট বাইনারিগুলিকে বিলোপ করতে চায় সেটি কেবলমাত্র /usr/bin। বিশেষভাবে বর্তমান কমান্ড লাইন সরঞ্জাম আছে /Library/Developer/CommandLineTools/usr/bin/git 2.5.4 এ
bmike

সুতরাং একটি বিকাশকারী সিস্টেম রক্ষা করার জন্য এই জিন বাইনারিগুলি আমি প্রতিপন্ন করা উচিত হিসাবে প্রতিস্থাপন করা প্রয়োজন (সেখানে আছে /Applications/Xcode.app/Contents/Developer/usr/bin/git এবং /Applications/Xcode.app/Contents/Developer/usr/libexec/git-core/git Xcode এ, Github.app বা SourceTree.app এর মতো সরঞ্জামগুলিও তাদের নিজস্ব অন্তর্ভুক্ত করে git )। সুতরাং একটি সিস্টেম রক্ষা শুধুমাত্র নিষ্ক্রিয় করার চেয়ে আরও প্রয়োজন হবে /usr/bin/git
nohillside

1
আমি পেয়েছি ls -dl $(locate 'git' | grep '/git$') বিভিন্ন খুঁজে পেতে দরকারী git সিস্টেমের মধ্যে।
nohillside

Yup @patrix - এটি একটি চিড়িয়াখানার একটি বিট যেখানে প্রচুর পরিমাণে গিটটি এমবেড করা হচ্ছে। আমি গ্রিট রেপোকে কল্পনা করার জন্য ব্রু, অ্যাপল এবং কয়েকটি ইউটিলিটিগুলির মধ্যে অর্ধ ডজন সংস্করণ সহ লোকেদের সহজেই দেখতে পারি।
bmike

0

আমার কোনও কার্যপ্রবাহ নেই যেখানে অন্য সরঞ্জামগুলি জিট কল করছে তাই আমি কেবল একটি প্যাচেড সংস্করণ ইনস্টল করার এবং সেটি ব্যবহার করে ঠিক আছি।

আমি নিম্নলিখিত করেছি:

  • থেকে ক্লোন সরকারী গিট repo
  • সঙ্গে ইনস্টল করা make && make install
  • এবং প্রোফাইলে আমার পথ থেকে ~ / বিন পূর্বে

এটা আমার জন্য জরিমানা কাজ করা উচিত।

বিশ্বস্ত সূত্রগুলির সাথে শুধুমাত্র মিথস্ক্রিয়া করার জন্য - নিশ্চিত, এটি আদর্শ, কিন্তু সফ্টওয়্যারের পরিচিত দুর্বল টুকরা ব্যবহার করার জন্য কোনও অজুহাত নেই। আপোস করা হচ্ছে বিশ্বস্ত উত্স উদাহরণ প্রচুর আছে। হচ্ছে একটি git clone আসলে ইচ্ছাকৃত কোড চালাতে সক্ষম আমার ভিউতে অনিবার্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.