ෂෙල්ෂොක් (දුරස්ථ සූරාකෑම CVE-2014-6271 සහ CVE-2014-7169) වළක්වා ගැනීම සඳහා මම Bash නැවත සකස් කරන්නේ කෙසේද?


369

"ෂෙල් කම්පනය" ( CVE-2014-6271 සහ CVE-2014-7169 ) ලෙස හැඳින්වෙන දුරස්ථ ක්‍රියාත්මක කිරීමේ සූරාකෑමට Bash 3.2 (OS X විසින් නැව්ගත කරන ලද අනුවාදය) ගොදුරු විය හැකි බැවින්, මම Bash නැවත ගොඩනඟා මගේ පද්ධතිය ආරක්ෂා කර ගන්නේ කෙසේද? නිල ඇපල් පැච්?

යාවත්කාලීන කිරීම: ඇපල් විසින් දැන් නිල පැච් එක නිකුත් කර ඇති බව සලකන්න. විස්තර සඳහා පහත බලන්න.


5
ඇපල් විසින් නිවැරදි කිරීමක් නිකුත් කර ඇත: support.apple.com/kb/DL1769
AT

1
ඉහත සඳහන් කළ OS X bash Update 1.0 පැච් එක OS X 10.9.5 හෝ ඊට පසුව විශේෂිත වේ - මෙන්න ඒවා සියල්ලම: OS X 10.7.5 (සිංහයා), OS X 10.8.5 (මවුන්ටන් ලයන්), OS X 10.9.5 ( මේවරික්ස්).
මම

ඔව්, මට පැය 9 කට පෙර සබැඳි එකතු කර ඇති නමුත් ඒවා වැරදි ලෙස මකා දමා ඇත. apple.stackexchange.com/revisions/146849/10
ඇල්බ්ලූ

gist.github.com/dnozay/395dcdef05c6b4b1836a යන සාරාංශයක් නිර්මාණය කර ඇති අතර එය බොහෝ පියවරයන් ඇති අතර දැනටමත් පැච් ඇතුළත් කර ඇත (සහ OSX 10.6 මත ක්‍රියා කළ යුතුය).
dnozay

nodnozay ඔබේ සාරාංශයට ස්තූතියි! පැච් 55 සහ 56 (දැනටමත් එළියට) සහ 57 (ඉක්මනින් අවසන් වීමට නියමිත) ඇතුළත් කිරීමට කරුණාකර එය යාවත්කාලීන කරන්න.
ඕල්ඩ් ප්‍රෝ

Answers:


428

තත්ත්වය

ඇපල් විසින් ෂෙල්ෂොක් සහ ඒ හා සම්බන්ධ අනාරක්‍ෂිතතාවයන් සඳහා වන බාෂ් ආරක්ෂණ විසඳුම් " ඕඑස් එක්ස් බාෂ් යාවත්කාලීන 1.0 " ලෙස නිකුත් කර ඇත. OS X මවුන්ටන් ලයන් v10.8.5 හෝ OS X Mavericks v10.9.5 භාවිතා කරන පුද්ගලයින් සඳහා සාමාන්‍ය පද්ධති යාවත්කාලීන කිරීම් හරහා ඒවා ස්ථාපනය කළ හැකිය (ඒවා ආරක්ෂක යාවත්කාලීන 2014-005 හි ඇතුළත් කර ඇත ) තවද ඒවා අතින් ස්ථාපනය කළ හැකිය. නිල ඇපල් විසඳුම් OS X Lion v10.7.5 සහ OS X Lion Server v10.7.5 සඳහා ද ලබා ගත හැකි නමුත් ඒවා ලබා ගත හැක්කේ අතින් බාගත කිරීමෙන් පමණි. මෙහෙයුම් පද්ධති අනුවාදය මත පදනම්ව ආරක්ෂක විසඳුම් විවිධ URL හරහා ලබා ගත හැකිය:

(නව පැච් නිකුත් කරන්නේ නම්, ඒවා මෙහි තබන්න, නමුත් කරුණාකර මෙම පවතින ඒවා යොමු කිරීම සඳහා තබා ගන්න.)

ඇපල් පැච් ෂෙල්ෂොක් සහ තවත් අවදානම් කිහිපයක් ගැන සැලකිලිමත් වන අතර බොහෝ මිනිසුන්ට එය කදිමයි. tl; dr මිනිසුන්ට මෙහි කියවීම නැවැත්විය හැකිය.

කෙසේ වෙතත්, ෂෙල්ෂොක් දෝෂය නිසා ඇති වූ අවධානය බොහෝ පර්යේෂකයන් විසින් බැෂ් දෙස දැඩි ලෙස බැලීමට හේතු වී ඇති අතර වැඩි වැඩියෙන් (සූරාකෑමට අසීරු) අවදානම් සොයාගෙන ඇත. ඔබ ආරක්ෂාව ගැන දැඩි සැලකිල්ලක් දක්වන්නේ නම් (සමහර විට ඔබ ප්‍රසිද්ධියේ ලබා ගත හැකි වෙබ් අඩවියක් සත්කාරකත්වය සැපයීම සඳහා OS X සේවාදායකය ධාවනය කරමින් සිටින නිසා) එවිට ඔබට අවශ්‍ය වන්නේ අනාරක්ෂිත බව සහ පැච් එක දිගටම පවත්වා ගෙන යාමයි. එසේ නොමැති නම්, ඒ ගැන කරදර නොවන්න.

අනාගතයේ දී තව දුරටත් අවදානම් සොයා ගැනීම සඳහා දූවිලි සමනය වන විට ඇපල් තවත් යාවත්කාලීනයක් නිකුත් කිරීමට බලා සිටින්න.


CVE-2014-6271 සහ CVE-2014-7169 යන දෙකම නිවැරදි කරන, බාෂ් 3.2, පැච් 52, 53, සහ 54 (බාෂ් 4.3 පැච් 25, 26, සහ 27 ට අනුරූප වන) සඳහා නිල පැච් කට්ටලයක් තිබේ. පහත දැක්වෙන 'ගේම් ඕවර්' ද ප්‍රදර්ශනය කෙරේ. මෙය මා විසින් පරීක්ෂා කර ඇති අතර ( ඇල්බ්ලූ ) ලිපිය ඒ අනුව යාවත්කාලීන කර ඇත (පසුව අමතර යාවත්කාලීන කිරීම් සිදු කරන ලදි: 54 වන පැච් එකේ නතර වන තනතුර සඳහා 41 වන සංශෝධනය බලන්න ).

බාෂ් වලට එරෙහිව තවත් බොහෝ අවදානම් වාර්තා වී ඇත. මයිකල් සාලෙව්ස්කිගේ පෝස්ටයට අනුව ඔබට පැච් 54 (සහ අනුමාන වශයෙන් ඇපල්ගේ නිල පැච්) තිබේ නම් "මෙම තනි දෝෂ වල තත්වය පිළිබඳව නිරීක්‍ෂණය කිරීමෙන් පලක් නැත, මන්ද ඒවා තවදුරටත් ආරක්ෂක අවදානමක් නොවිය යුතුය:"

  • CVE-2014-6271 - ස්ටීවන් විසින් සොයාගත් මුල් RCE. Bash43-025 මගින් ස්ථාවර කර ඇති අතර අනෙකුත් අනුවාද සඳහා අනුරූප සැප්තැම්බර් 24 ඇතුළත් කිරීම්.

  • CVE-2014-7169 - ටාවිස් විසින් ගොනු නිර්මාණය / ටෝකන් පරිභෝජන දෝෂය. ස්ථාවර කරන ලද්දේ bash43-026 & co (සැප්තැම්බර් 26)

  • CVE-2014-7186 - ෆ්ලෝරියන් සහ ටොඩ් විසින් සොයාගත් තත්පර 10 ක අවදානමක් නැති ඩොක් කඩාවැටීමක්. ස්ථාවර කර ඇත්තේ bash43-028 & co (ඔක්තෝබර් 1).

  • CVE-2014-7187 - ෆ්ලෝරියන් විසින් සොයා නොගත්, බොහෝ විට තත්පරයට අවදානමක් නැති, අනතුරක් නොවන. ස්ථාවර කර ඇත්තේ bash43-028 & co (ඔක්තෝබර් 1).

  • CVE-2014-6277 - ආරම්භ නොකළ මතක නිකුතුව, නිසැකවම මයිකල් සාලෙව්ස්කි විසින් සොයා ගන්නා ලද RCE. නිශ්චිත පැච් එකක් තවම නැත.

  • CVE-2014-6278 - විධාන එන්නත් RCE මයිකල් සාලෙව්ස්කි විසින් සොයා ගන්නා ලදී. නිශ්චිත පැච් එකක් තවම නැත.

එය අවුල් සහගතය. වාසනාවකට මෙන්, නිල බාෂ් නඩත්තුකරු චෙට් රමී, සිතියම් ගත කිරීම සඳහා සීවීඊ එකක් පළ කළේය . ඔහුගේ පෝස්ට් එකෙන් දැක්වෙන්නේ බාෂ් 4.3 සඳහා වන පැච් ය, මම (ඕල්ඩ්ප්‍රෝ) ඒවා බාෂ් 3.2 සඳහා පැච් වලට පරිවර්තනය කර ඇති අතර එය ඕඑස් එක්ස් සඳහා අදාළ වේ. එසේම, මෙම තනතුරේ සිට ඔහු පැච් 57 නිකුත් කර ඇත, එබැවින් මම පහත දැක්වුවෙමි:

 bash32-052      CVE-2014-6271                           2014-09-24
 bash32-053      CVE-2014-7169                           2014-09-26
 bash32-054      exported function namespace change      2014-09-27 ("Game Over")
 bash32-055      CVE-2014-7186/CVE-2014-7187             2014-10-01
 bash32-056      CVE-2014-6277                           2014-10-02
 bash32-057      CVE-2014-6278                           2014-10-05

කාලරාමුවකට සහ වැඩි විස්තර සඳහා ඩේවිඩ් ඒ. වීලර්ගේ ලිපිය බලන්න .

ඇල්බ්ලූ විසින් පැච් 55 හරහා ගොඩනැගීමේ උපදෙස් පළ කරන ලදී. මම (ඕල්ඩ්ප්‍රෝ) උපදෙස් සඳහා පැච් 56 සහ 57 එකතු කළ නමුත් එය පරීක්ෂා කර නැත.

මුල් අවදානම සඳහා පරීක්ෂා කිරීම

මෙම පරීක්ෂණය ක්‍රියාත්මක කිරීමෙන් CVE-2014-6271 හි මුල් ගැටලුවට ඔබ ගොදුරු විය හැකිදැයි ඔබට තීරණය කළ හැකිය :

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

ඉහත ප්‍රතිදානය අනාරක්ෂිත bashඅනුවාදයකට උදාහරණයකි . vulnerableඑම විධානයේ ප්‍රතිදානයේ ඔබ වචනය දුටුවහොත් ඔබේ bashඅවදානමට ලක්විය හැකි අතර ඔබ යාවත්කාලීන කළ යුතුය. පහත දැක්වෙන්නේ OS X 10.8.5 හි අවදානමට ලක්විය හැකි අනුවාදයකි:

10.8.5 හි අනාරක්ෂිත බව පෙන්වන බාෂ් පර්යන්තයේ තිර රුව

නව අවදානම සඳහා පරීක්ෂා කිරීම

ක වී ඇත මුල් තනතුරට යාවත්කාලීන හා බෑෂ් 3.2.52 (1) තවමත්, නිර්වචනය කර ඇති අනාරක්ෂිත තත්ත්වය පිළිබඳ විචලනය ගොදුරුවන CVE-2014-7169

$ rm -f echo
$ env X='() { (a)=>\' sh -c "echo date"; cat echo
sh: X: line 1: syntax error near unexpected token `='
sh: X: line 1: `'
sh: error importing function definition for `X'
Thu 25 Sep 2014 08:50:18 BST

ඉහත ප්‍රතිදානය අවදානමට ලක්විය හැකි bashඅනුවාදයකට උදාහරණයකි . එම විධානයේ ප්‍රතිදානයේ දිනයක් ඔබ දුටුවහොත් ඔබේ bashඅවදානමට ලක්විය හැකිය.

"ගේම් ඕවර්" වැළැක්වීම සඳහා ස්වයංක්‍රීයව ආනයනය කළ කාර්යයන් අක්‍රීය කිරීම

පර්යේෂකයන් සඳහන් කළේ, එය අවදානමක් ලෙස වර්ගීකරණය නොකර, ස්වයංක්‍රීයව ආනයනය කරන ලද ශ්‍රිත භාවිතා කරමින් ස්ක්‍රිප්ටයකට උප කුලකයක ශ්‍රිතයක් පැහැර ගත හැකි බවයි:

$ env ls="() { echo 'Game Over'; }" bash -c ls
Game over

බලපෑමට ලක්වූ පද්ධතියක ඉහත කේතය Game Overඔබ අපේක්ෂා කරන නාමාවලි ලැයිස්තු වෙනුවට පෙන්වනු ඇත ls. නිසැකවම, echo 'Game Over'ඔබට අවශ්‍ය ඕනෑම අශෝභන කේතයකින් එය ප්‍රතිස්ථාපනය කළ හැකිය. මෙය "ගේම් ඕවර්" දෝෂය ලෙස දැන ගන්නා ලදී.

පැච් 54 ලබා ගැනීමට පෙර, නෙට්බීඑස්ඩී සහ ෆ්‍රීබීඑස්ඩී යන දෙකම ස්වයංක්‍රීයව ආනයනය කරන බාෂ් කාර්යයන් පෙරනිමියෙන් අක්‍රීය කර ඇත, අර්ධ වශයෙන් “ගේම් ඕවර්” වැළැක්වීම සඳහා වන නමුත් ප්‍රධාන වශයෙන් පාර්සර් ( CVE-2014-7169 වැනි ) හි තවදුරටත් දෝෂ අඩංගු වේ. අඛණ්ඩව සොයා ගන්නා අතර නව විධාන රේඛා ධජයක් එක් කරන ලදි--import-functionsපැරණි පෙරනිමි හැසිරීම නැවත සක්‍රීය කිරීමට. මම (ඇල්බ්ලූ) අනෙක් අයට මෙම හැසිරීම අනුගමනය කිරීමට අවශ්‍ය නම් එය භාවිතා කිරීමට පැච් එකක් (3.2.53 ට එරෙහිව) සකස් කර ඇති අතර එය පහත ඇතුළත් කර ඇත. පෙරනිමියෙන් මෙම පැච් එක පහත බිල්ඩ් ස්ක්‍රිප්ට් තුළ සක්‍රීය නොවේ. මම (d ඕල්ඩ්ප්‍රෝ) විශ්වාස කරන්නේ මෙම පැච් එක තවදුරටත් අවශ්‍ය නොවන බවයි. මන්දයත් එය පසුපසට ගැළපෙන ආකාරය හා එය ආරක්ෂා කරන අනාරක්‍ෂිතතාවයන් පැච් 54 සහ ඊට පෙර පැච් මගින් ඉතා හොඳින් ආමන්ත්‍රණය කර ඇති අතර මෙම නිල නොවන පැච් සක්‍රීය කිරීමෙන් අනාගත පැච් යෙදීම වළක්වයි. .

(ප්‍රශ්න සංස්කාරකවරුන්ට සටහන; කරුණාකර මෙය නිල නොවන පැච් එකක් බැවින් පෙරනිමියෙන් මෙය සක්‍රීය නොකරන්න.)

a0c5c4d66742fddd0a35001cb91798a5fbf8a2f5 import_functions.patch

export ADD_IMPORT_FUNCTIONS_PATCH=YESගොඩනැගීම ක්‍රියාත්මක කිරීමට පෙර ධාවනය කිරීමෙන් පැච් සක්‍රීය කළ හැකිය . බව සටහන මෙම ලප හැකියාව ලප 54 සහ ඕනෑම අනාගත පැච් අක්රීය කරනු ඇත අනාගතය පැච් නිල නොවන ලප අනුකූල වනු සහතික කළ නොහැකි නිසා ය.

ඇපල් පැච් හි ගේම් ඕවර් අනාරක්ෂිත බවක් ඇත

ට්විටර් හි @ake_____ විසින් පෙන්වා දී ඇති පරිදි , නිල ඇපල් පැච් තවමත් ක්‍රියාත්මක කළ හැකි පරිසර පරිසරයට ගොදුරු විය හැකිය:

$ env '__BASH_FUNC<ls>()'="() { echo Game Over; }" bash -c ls
Game Over

මෙය කොතරම් වැදගත්ද යන්න පරිශීලකයින් විසින්ම තීරණය කළ යුතුය. මම (d ඕල්ඩ්ප්‍රෝ) සිතන්නේ මෙම හැසිරීම ගැන දන්නා සූරාකෑමක් නොමැති නිසා (එයට සීවීඊ හදුනාගැනීමක් පවා ලබා දී නැත) මන්දයත් පොදුවේ නුසුදුසු දුරස්ථ ප්‍රහාරකයන්ට පරිසර විචල්‍යයක නමක් සැකසිය නොහැකි අතර වරප්‍රසාද ඇති ප්‍රහාරකයින්ට එය කළ නොහැකි බැවිනි. ඔවුන්ට දැනටමත් නොමැති වරප්‍රසාද ලබා ගැනීමට මෙය භාවිතා කරන්න (අවම වශයෙන් අතිරේක අවදානමක් උපයෝගී කර නොගෙන).

කුඩා පසුබිමක් සැපයීම සඳහා, කාර්යයන් නිර්වචනය කිරීමට bash මඟින් ඉඩ ලබා දෙන අතර, තවද එම කාර්යයන්export -f විධානය හරහා උප-ෂෙල් වෙත අපනයනය කිරීමට ඉඩ ලබා දේ . මෙය ක්‍රියාවට නැංවීමට භාවිතා කරනුයේ ශ්‍රිතයට සමාන නමක් සහිත පරිසර විචල්‍යයක් ශ්‍රිත අර්ථ දැක්වීමට සකසා ඇති නිසාය. ඒ නිසා

$ ls () { echo 'Game Over'; }
$ export -f ls
$ echo $ls
Game Over

මෙය සිදු වූයේ export -f lsපරිසර විචල්‍යයක් නම් කර ඇති lsබැවිනි. “ගේම් ඕවර්” අවදානම නම්, ශ්‍රිතය මුලින් නිර්වචනය නොකර ඔබට මෙම පරිසර විචල්‍යය කෙලින්ම නිර්මාණය කළ හැකි අතර එයින් අදහස් කළේ ඔබට නිවැරදි විචල්‍ය නාමයක් එන්නත් කළ හැකි නම් ඔබට විධානයක් පැහැර ගත හැකි බවයි. නිවැරදි නම සහිත විචල්‍යයක් නිර්මාණය කිරීම දුෂ්කර කරමින් ඇපල් මෙය නිවැරදි කිරීමට උත්සාහ කළේය. නිල බැෂ් පැච් 54 ඇත්ත වශයෙන්ම විචල්‍ය නාමයක් භාවිතා කරමින් විචල්‍ය නාමයක් භාවිතා කරමින් විචල්‍ය නාමයක් භාවිතා කිරීමෙන් විචල්‍ය නාමයක් භාවිතා කිරීමට නොහැකි වන %අතර අපනයන ශ්‍රිත අර්ථ දැක්වීම් වෙනත්, වෙන් කළ නාම අවකාශයක effectively ලදායී ලෙස තබයි.

ඉහත කිසිවක් ඔබට තේරෙන්නේ නැත්නම්, ඒ ගැන කරදර නොවන්න. ඔබ දැනට ඇපල් පැච් සමඟ හොඳයි.

පද්ධති ද්විමය

OS X 10.9.5 (මේ මොහොතේ නවතම ස්ථාවර නිකුතුව) Bash v3.2.51 සමඟ නැව්ගත කරයි:

$ bash --version
GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13)
Copyright (C) 2007 Free Software Foundation, Inc.

ඔබට Xcode ස්ථාපනය කර ඇති බව සපයමින් ඔබට පහත පරිදි Bash ලබාගෙන නැවත සකස් කළ හැකිය (සහ xcodebuildබලපත්‍රය භාර ගැනීමට අවම වශයෙන් එක් වරක්වත් ධාවනය කර ඇත):

$ # If you want to disable auto-imported functions, uncomment the following
$ # export ADD_IMPORT_FUNCTIONS_PATCH=YES
$ mkdir bash-fix
$ cd bash-fix
$ curl https://opensource.apple.com/tarballs/bash/bash-92.tar.gz | tar zxf -
$ cd bash-92/bash-3.2
$ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052 | patch -p0    
$ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-053 | patch -p0  
$ # See note above about ADD_IMPORT_FUNCTIONS_PATCH
$ [ "$ADD_IMPORT_FUNCTIONS_PATCH" == "YES" ] && curl http://alblue.bandlem.com/import_functions.patch | patch -p0
$ [ "$ADD_IMPORT_FUNCTIONS_PATCH" == "YES" ] || curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-054 | patch -p0
$ [ "$ADD_IMPORT_FUNCTIONS_PATCH" == "YES" ] || curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-055 | patch -p0
$ [ "$ADD_IMPORT_FUNCTIONS_PATCH" == "YES" ] || curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-056 | patch -p0
$ [ "$ADD_IMPORT_FUNCTIONS_PATCH" == "YES" ] || curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-057 | patch -p0
$ cd ..
$ # Note: DO NOT ADD SUDO TO XCODEBUILD HERE
$ xcodebuild
$ build/Release/bash --version # GNU bash, version 3.2.57-release
$ build/Release/sh --version   # GNU bash, version 3.2.57-release
$ sudo cp /bin/bash /bin/bash.old
$ sudo cp /bin/sh /bin/sh.old
$ sudo cp build/Release/bash /bin
$ sudo cp build/Release/sh /bin

(සටහන: ඔබ පර්යන්තය වෙත යන්නේ ඉන්පසු ධාවනය, පිටපත්-සහ-අලවමින් ඉහත කේතය වාරණ මෙම ධාවනය කළ හැක pbpaste | cut -c 2- | shනමුත් අන්තර්ජාලය අහඹු පිටපත් ධාවනය විට සෑම විටම සැලකිලිමත් ....)

මෙයින් පසු, Bash අනුවාදය v3.2.57 විය යුතුය:

$ bash --version
GNU bash, version 3.2.57-release (x86_64-apple-darwin13)
Copyright (C) 2007 Free Software Foundation, Inc.

ආරක්ෂාව සඳහා, සහ පරීක්ෂා කිරීමෙන් පසුව, chmod -xපැරණි අනුවාදයන් නැවත භාවිතා නොකරන බවට සහතික කර ගැනීමට හෝ ඒවා උපස්ථ අඩවියකට ගෙනයාමට මම නිර්දේශ කරමි .

$ sudo chmod a-x /bin/bash.old /bin/sh.old

වෙනත් පිළිතුරු වලට මැක්පෝර්ට්ස් හෝ හෝම්බ rew භාවිතා කරන්නන් සඳහා විසඳුම් ඇත; මේවා ගැටළුව විසඳන්නේ නැත, ඔවුන් බාෂ් හි අතිරේක සංස්කරණ ස්ථාපනය කරයි. ඔබට විශේෂයෙන් උත්ශ්‍රේණිගත කිරීමට අවශ්‍ය නම් කරුණාකර එම පිළිතුරු බලන්න.

ස්තූතියි

මෙම පැච් ලබා ගත හැකි චෙට් හට ස්තූතියි. මේ පිළිබඳව අදහස් දැක්වූ සහ කාලයත් සමඟ එය වැඩිදියුණු කළ අනෙක් සියල්ලන්ට ස්තූතියි.

දැන් ඇපල් විසින් නියම විසඳුම නිකුත් කර ඇත, මෙය තවමත් ප්‍රයෝජනවත් විය හැකිය. මක්නිසාද යත් ඔවුන් සිංහයා සහ ඉහළට නිවැරදි කිරීමක් පමණක් නිකුත් කර ඇති අතර නිල පැච් මඟින් 3.2.53 (1) අනුවාදය මුදා හැරීම (x86_64-ඇපල්-ඩාර්වින් 13), කෙසේ වෙතත්, ගේම් ඕවර් බග් තවමත් තරමක් අවදානමට ලක්ව ඇත. මෙම අවස්ථාවෙහිදී, ඔබේම බාෂ් අනුවාදය 3.2.57 ට එරෙහිව නැවත ගොඩනඟා ගැනීම බොහෝ විට ඇපල් පැච් මත යැපීමට වඩා ආරක්ෂිත වේ.


18

මැක්පෝට්ස්

මෙය ඔබට 4.3.28 (1) යන අනුවාදය ලබා දෙන අතර එමඟින් අනාරක්ෂිතතාවයන් (CVE-2014-6271 සහ CVE-2014-7169) මෙන්ම පසුව සොයාගත් ඒවාද වේ. 4 වන අනුවාදය ලබා ගැනීම සඳහා ඔබ මැක්පෝර්ට්ස් බෑෂ් භාවිතා කිරීම සඳහා ෂෙල් වෙඩි වෙනස් කර ඇත්නම් මෙය ප්‍රයෝජනවත් වේ.

සම්මත OS ස්ක්‍රිප්ට් ඇති #!/bin/shහෝ #!/bin/bashපළමු පේළිය ලෙස එය විසඳන්නේ නැත . මැක්පෝර්ට්ස් ඉක්මණින් යාවත්කාලීන වීමට නැඹුරු වන බැවින් මැක්පෝර්ට්ස් විසින් ඇපල් විසින් සපයන ලද වැඩසටහන් සංස්කරණ භාවිතා නොකිරීමට මැක්පෝර්ට්ස් උත්සාහ කරන්නේ ඇයිද යන්න මෙබඳු ගැටළුවක් වේ.

හෝම්බ rew පිළිතුරේ මෙන් ඔබට ටර්මිනලය භාවිතා කළ හැකිය

Macports අනුගමනය ස්ථාපනය කිරීමට මෙම උපදෙස් වන
1. ස්ථාපනය Xcode සහ Xcode විධාන රේඛා මෙවලම්
sudo xcodebuild -license: 2. පර්යන්තය තුළ Xcode බලපත්රය එකඟ
OS X මෙහෙයුම් පද්ධතිය ඔබේ අනුවාදය සඳහා 3. බාගත MacPorts pkg: සබැඳි පිටු මත ය
4. Pkg ධාවනය කරන්න

ඔබ මැක්පෝර්ට්ස් ස්ථාපනය කර ඇති විට ඔබට නවතම අනුවාදයන් අවශ්‍ය වේ, මෙය සිදු කිරීමෙන් ක්‍රියාත්මක වේ

sudo port selfupdate

සහ නැවත සකස් කිරීම හෝ නවතම ද්විමය ලබා ගැනීම

sudo port upgrade outdated

5
මෙය දැනට පවතින ද්විමයන්හි ආරක්‍ෂිත අවදානමක් නිරාකරණය කිරීම හා අවදානමට ලක්විය හැකි ද්විමයන් ප්‍රතිස්ථාපනය / නිවැරදි නොකිරීම නිසා මෙය ගැටළුව විසඳන්නේ කෙසේදැයි බැලීමට මා අසමත් වේ.
ඇල්බ්ලූ

එය මැක්ස්පෝර්ට්ස් අනුවාදයට හිවලුන් වන අතර එය ඇත්ත වශයෙන්ම ඉයන්සීගේ අදහස් දැක්වීම සඳහා ඉල්ලීමක් විය
පරිශීලක 151019

ඔව්. අපි bashසාමාන්‍යයෙන් OS X වෙතින් එන සියලුම ස්ථාන සඳහා නිවැරදි කිරීම් ලැයිස්තුගත කළ යුතුයි - එබැවින් පද්ධති නිවැරදි කිරීම, හෝම්බ rew සහ මැක්පෝර්ට්ස් සවි කිරීම. සමහරවිට ෆින්ක් කරන්නත් පුළුවන්. මෙය ඇල්බියුගේ පිළිතුරට සංස්කරණයක් ලෙස සකසා ඇත්නම් මම පෞද්ගලිකව එයට කැමැත්තෙමි. එබැවින් ඒ සියල්ලම එකකි, වඩාත්ම නිවැරදි, පිළිතුර.
ඉයන් සී.

2
Ans පිළිතුරු වෙනස් වන බැවින් මේවා වෙන් වෙන්ව තිබිය යුතු අතර එක් විශාල එකක් පරික්ෂා කළ නොහැක - උදා: මෙය ඇපල් සමාගමේ කඩාවැටීම සහ OSX හරහා හෝම්බ rew බෑෂ් පිටපත් කිරීම සඳහා ගෙදර හැදූ පිළිතුර නිවැරදි නොකරන බව පවසන්න. ඇත්ත වශයෙන්ම ඒවා වෙනම ප්‍රශ්න වේ
user151019

Ed ඇල්බියුගේ පිළිතුරට මගේ සංස්කරණය බලන්න. මේවා වෙනම විය යුතු යැයි මම එකඟ නොවෙමි.
ඉයන් සී.

17

නිල ඇපල් ඕඑස් එක්ස් බාෂ් යාවත්කාලීන කිරීම පිළිබඳ සටහන 1.0: මෙම මෘදුකාංග යාවත්කාලීන කිරීම මඟින් නිල ඇපල් බාෂ් අනුවාදය 3.2.53 දක්වා ගෙන එනු ලැබේ. 3.2.54 පැච් සංශෝධනය පහත සඳහන් වෙනස ඉදිරිපත් කරයි:

මෙම පැච් එක මඟින් අපනයනය කරන ලද කාර්යයන් සඳහා ෂෙල් විචල්‍යයන් සමඟ ගැටුම් වළක්වා ගැනීමට සහ ෂෙල් ශ්‍රිතයක් ලෙස අර්ථ නිරූපණය කළ යුතුද නැද්ද යන්න තීරණය කිරීම සඳහා පරිසර විචල්‍යයක අන්තර්ගතය මත පමණක් රඳා සිටීම වළක්වා ගනී.

පද්ධතිය දැනටමත් ද්විමය 3.2.54 ක් සමඟ සම්බන්ධ කර ඇති පරිශීලකයින් සඳහා, ඔබට සම්පාදනය කරන ලද ද්විමය ඇපල් පැච් සමඟ ප්‍රතිස්ථාපනය කළ හැකිය, නැතහොත් ඔබට ඒවා එලෙසම තැබිය හැකි නමුත් එය වැරදි ලෙස උපදෙස් දෙනු ලැබේ. ඇපල් සිය ද්විමය අනුවාදය 3.2.53 ට අත්හැරියද, ඇපල් පැච් DOES හි පහත දැක්වෙන සූරාකෑමේ පරීක්ෂණය සඳහා නිවැරදි කිරීම් අඩංගු වේ:

env X='() { (a)=>\' sh -c "echo date"; cat echo

මෙයින් අදහස් කරන්නේ ඇපල් නිල 3.2.53 ද්විමය වැනිලා GNU 3.2.54 ද්විමය හා සමාන ආරක්ෂාවක් අඩංගු බවයි. අවාසනාවන්ත අවුල් සහගත කරුණක්, නමුත් එය එයයි. ඇපල් සවි කිරීම අඩක් පුළුස්සා නැත. එය ගැටළුව සඳහා සම්පූර්ණ විසඳුමක් ලෙස පෙනේ. එනිසා වැනිලා සම්පාදනය කිරීමේ bashසහ shග්නූ ප්‍රභවයේ සිට පහත දැක්වෙන මාර්ග සිතියම art තිහාසික පුරාවස්තුවක් ලෙස සැලකිය යුතු අතර ඒවා අවශ්‍ය නම් අනාගතයේ දී පැච් කරන්නේ කෙසේද යන්න පිළිබඳ අච්චුවක් ලෙස උපදෙස් ලබා ගත හැකිය.

සටහන: වැනිලා GNU ප්‍රභවය සමඟ, shවිවිධ ස්ථාපකයන්ගේ අසාර්ථකත්වයට හේතු වන වරප්‍රසාද ඉහළ නැංවීමේ ගැටළු ඇත, උදා: ඇඩෝබි ෆ්ලෑෂ්. ඇපල් පැච් කළ ද්විමය සමඟ බැඳී සිටීමට මම තරයේ නිර්දේශ කරමි. මෙම පැච් යෝජනා ක්‍රමය අවලංගු කිරීමට හා වැරදි ලෙස උපදෙස් දීමට සලකා බලන්න.

පහත දැක්වෙන නිවැරදි කිරීම විස්තර කරන නව GNU bash 3.2.55 පැච් එකක් ඇත:

දෝෂ විස්තරය:

Parse.y හි දේශීය ස්වාරක්ෂක පිටාර ගැලීම් දෙකක් ඇත. මෙහි බොහෝ විධානයන් ලබා දී ඇති විට කවචය හරය ඉවතට විසිවිය හැකිය - තනි විධානයකට හෝ බොහෝ කැදැලි ලූපවලට අමුණා ඇති ලේඛන.

නිල ඇපල් පැච් ද්විමය සමඟ වාඩි වී සිටිය යුතුද නැතිනම් නව සූරාකෑම් සමඟ කටයුතු කිරීම සඳහා ඔබේම දෑ රෝල් කළ යුතුද යන්න තීරණය කිරීම සඳහා අපි එය මෘදු පා er කයාට භාර දෙමු. පුද්ගලිකව, මම ඇපල් ද්විමය සමඟ බැඳී සිටිමි.


මෙම පෝස්ට් මඟින් වැනිලා සම්පාදනය කර ස්ථාපනය කරන්නේ කෙසේද bashසහ shOS X මත විස්තර කෙරේ. ඇපල් විශේෂිත ප්‍රභවයක් භාවිතා කිරීම පිළිබඳ විස්තර පහත දැක්වෙන උදාහරණ ලෙස මා තෝරා ගත්තේ නිවැරදි පැච් සංශෝධනයෙන් නොවේ. වයි.එම්.එම්.වී. කෙසේ වෙතත්, මෙම වැනිලා ස්ථාපනය OS X ද්විමය ප්‍රතිස්ථාපනය කිරීම ඉලක්ක කර ගත් අතර ඇපල් අවසානයේ ආරක්ෂක යාවත්කාලීනයක් නිකුත් කළ විට, මෙම වැනිලා ආදේශන ඔවුන්ගේ නිසි ඇපල් සගයන් විසින් පැහැර ගනු ඇත.

මගේ මූලික වින්‍යාසය:

සියලුම විධාන රේඛා උපයෝගීතා සහිත OS X Lion 10.7.5 සහ Xcode 4.6.3.

මෙය නිවැරදි කිරීමට මගේ පියවර වූයේ:

3.2.48 සඳහා මූලික බාෂ් ප්‍රභව කේතය බාගත කරන්න:

https://ftp.gnu.org/gnu/bash/bash-3.2.48.tar.gz

බාෂ් 3.2.49, .50, .51, .52, .53, .54 සහ .55 පැච් බාගන්න:

https://ftp.gnu.org/gnu/bash/bash-3.2-patches/

මම ඒවා $ filename.patch, උදා: bash3.2.50.patch ලෙස සුරකිමි.

ඔබේ බාගැනීම් නාමාවලියට සංයුක්ත තැටිය සහ…

ප්‍රධාන ප්‍රභව ශාඛාව ඉවත් කරන්න:

tar xzvf bash-3.2.48.tar.gz

cd bash-3.2.48

කලින් විස්තර කර ඇති පරිදි ඔබ බාගත කළ පැච් ගොනු නැවත නම් කර ඇතැයි උපකල්පනය කරමින්,

cp ../*.patch .

ඉන්පසු …

for file in *.patch ; do
  patch -p0 < $file
done

මෙය විවිධ ලිපිගොනු වල සාර්ථක පැච් පෙන්විය යුතුය. එසේ නොවේ නම්, යම් ගවේෂණයක් හා විමර්ශනයක් කිරීමට සූදානම්ව සිටින්න.

ලබන:

sudo cp /bin/bash /bin/bash_old
sudo cp /bin/sh /bin/sh_old
sudo chmod -x /bin/bash_old
sudo chmod -x /bin/sh_old

එය මූලික වශයෙන් ඔබගේ පැරණි, අවදානමට ලක්විය හැකි බාෂ් සහ ෂෙල් ෂෙල්ප් උපස්ථ කර ඒවායේ ක්‍රියාත්මක කළ හැකි වරප්‍රසාදය ඉවත් කළේය. එමඟින් ඔබට අවශ්‍ය පරිදි විධාන යථා තත්වයට පත් කිරීමේ හැකියාව ලබා දෙයි, නමුත් මේ අතරතුර හානි කිරීමට ඇති හැකියාව ඉවත් කරයි.

ලබන:

./configure --prefix=/ ; make ; sudo make install

මෙය නිවැරදිව වින්‍යාස කිරීම, සම්පාදනය කිරීම සහ නව බාෂ් ද්විමය / බින් තුළට ස්ථාපනය කළ යුතුය. එය අවසන් වූ පසු, පර්යන්තයෙන් පිටවී නැවත විවෘත කරන්න.

ඔබට සෑම දෙයක්ම සතුටින් හා සිනහවෙන් යුතුව bash --version3.2.55 දැකීමට හැකි විය යුතුය, උදා:

Gaia:Downloads trane$ bash --version
GNU bash, version 3.2.55(1)-release (i386-apple-darwin11.4.2)
Copyright (C) 2007 Free Software Foundation, Inc.

ඔබේ OS X අනුවාදය අනුව ඉහත විධානයෙහි නිශ්චිත ප්‍රතිදානය වෙනස් වේ.

ඔබට එරෙහිව ඇති අවදානම පරීක්ෂා bashකර බලා එය හොඳ බව සොයා ගැනීමට ඔබට හැකි විය යුතුය .

සටහන: අප මේ වන විට සවි කර ඇත්තේ බාෂ් පමණි, නමුත් /bin/shක්‍රියාත්මක කළ හැකි තවමත් එහි අවදානමට ලක්ව ඇත. හුදෙක් පිටපත් bashමුදුනේ shදේවල් කරන ලිනක්ස් රටාවකි. OS X shක්‍රියාත්මක කිරීමේදී යම් යම් වෙනස්කම් ඇත bash, කෙසේ වෙතත් ඔබට නැවත සම්පාදකය පිටතට ඇද ගැනීමට අවශ්‍ය වනු ඇත. OS X හි කෙසේද bashසහ shවෙනස් වන්නේ කෙසේද යන්න පිළිබඳ වැඩිදුර තොරතුරු මෙතැනින් සොයාගත හැකිය:

https://apple.stackexchange.com/a/89327/91441

ඔබගේ බාගැනීම් නාමාවලියෙහි කරන්න:

make clean

ඔබගේ ප්‍රියතම සංස්කාරකයේ, ගොනුව විවෘත කර Makefile.in99 වන පේළියට අනුචලනය කරන්න. අපි වැඩසටහන් රේඛාව වෙනස් කරන්නෙමු, එවිට ද්විමය අප ප්‍රතිදානය කරන්නේ shඒ වෙනුවට ය bash:

Program = sh$(EXEEXT)

එය සුරකින්න

./configure --prefix=/ --enable-xpg-echo-default --enable-strict-posix-default
make ; sudo make install

දැන් ඔබ shඇපල් මෙන් හරියටම ගොඩනඟා ඇත.

එක් අවසාන සටහනක්: සමහර (සියල්ල?) පද්ධති වල, ඇපල් සාමාන්‍යයෙන් bashbugක්‍රියාත්මක කළ හැකි ස්ථානය තබයි /usr/bin. අපගේ සම්පාදනය එය තුළට දමනු ඇත /bin. ඉතින්, මෙහි අවසාන පියවර:

sudo mv /usr/bin/bashbug /usr/bin/bashbug_old
sudo chmod -x /usr/bin/bashbug_old
sudo mv /bin/bashbug /usr/bin/bashbug

1
කෙඳිරිගෑමට හෝ කිසිවක් කිරීමට නොව, ප්‍රශ්නය "මම බැෂ් නැවත සකස් කරන්නේ කෙසේද" සහ මගේ පිළිතුර "එම ප්‍රශ්නයට පිළිතුරට පහත සබැඳිය ක්ලික් කරන්න, සාරාංශ අවශ්‍යතා පවතින බව පෙනේ.
ට්‍රේන් ෆ්‍රෑන්ක්ස්

2
තේරුණා: බෑෂ් සමඟ ඇතුළත් කර ඇති කියවීම් පුස්තකාලය 10.6 සමඟ නොගැලපේ. ඒ වෙනුවට GNU කියවීම් රේඛාව ස්ථාපනය කර එය භාවිතා කිරීම සඳහා bash makefile හැක් කරන්න. කියවීම් රේඛාව ස්ථාපනය කරන්න: ftp.cwru.edu/pub/bash/readline-6.3.tar.gz බෑෂ් වලදී, වින්‍යාස කිරීමෙන් පසු, Makefile හි, සකසා READLINE_LIB = /usr/local/lib/libreadline.aපිරිසිදු සම්පාදනයක් කරන්න. එවිට කැබලි මත නව bash ද්විමය පිටපත් /bin/bashහා/bin/sh
සෙත් ආර්ය

2
අතිරේක: bash Makefile හි එය සැකසීමටද අවශ්‍ය වේ HISTORY_LIB = /usr/local/lib/libhistory.a. එසේ නොමැතිනම් බැෂ් ගතිකව / usr / දේශීය අනුවාදයට සම්බන්ධ වේ.
සෙත් නොබෙල්

1
ඇපල් විවෘත මූලාශ්‍ර පිටුවෙන් බාගත හැකි අනුවාදය OSX හි වැඩ කිරීමට අවශ්‍ය වෙනස් කිරීම් ඇති බව සලකන්න. වැනිලා උඩුමහලේ බැෂ් භාවිතා කිරීමට මම නිර්දේශ නොකරමි, එසේ නොමැතිනම් ඔබ වැනි දේ වෙනුවට ආදේශ නොකරයි.
ඇල්බියු

1
පද්ධතියේ විවෘත කේත උපයෝගීතා ප්‍රශස්ත කිරීම සඳහා ඇපල් බොහෝ වෙනස්කම් කරයි. එයින් bashකියැවෙන්නේ, කර්නලය වෙනස් නිසා වැනිලා කෙසේ හෝ හැසිරවීමට අසමත් වන්නේ කොතැනදැයි මට නොපෙනේ . කෙසේ වෙතත්, මගේ විසඳුම තාවකාලික යැයි මම සලකමි; අවසානයේදී, ඇපල් විසින් ගැටළුව නිරාකරණය කර මගේ සම්පාදිත ද්විමය ප්‍රතිස්ථාපනය කරනු ඇත (මෙය /binමුලින්ම සම්පාදනය කිරීමට මගේ ප්‍රධාන හේතුවයි .
ට්‍රේන් ෆ්‍රෑන්ක්ස්

15

සැප්තැම්බර් 29 වන විට ඇපල් විසින් මැක් ඕඑස් එක්ස් 10.9.5, 10.8.5 සහ 10.7.5 සඳහා පැච් නිල වශයෙන් නිකුත් කර ඇත.


1
ස්තූතියි! බොහෝ / බොහෝ දෙනා සඳහා නැවත සකස් කිරීමට වඩා මෙය පහසු විය හැකිය.
ඇල්බ්ලූ

L ඇල්බ්ලූ එකඟ විය. සමහරු පෙන්වා දී ඇති පරිදි, එය මුළුමනින්ම පිරිසිදු නොවූවත්, මෙය කිසි දෙයකට වඩා හොඳය. භීතියක සමහර නවක සම්පාදක ප්‍රභව කේත වලට වඩා බොහෝ ආරක්ෂිතයි.
ජේක්ගෝල්ඩ්

2
සුපුරුදු පරිදි, මෘදුකාංග යාවත්කාලීන ප්‍රචාරණ ප්‍රමාදය පූර්ණ ලෙස ක්‍රියාත්මක වේ. පැකේජ පෙන්වීමට කොපමණ කාලයක් ගතවේදැයි මම කල්පනා කරමි. මෙම ප්‍රශ්නයට ඇපල් ඉතා ඉක්මණින් ප්‍රතිචාර දැක්වූ බව දැකීම ප්‍රබෝධයක්!
ට්‍රේන් ෆ්‍රෑන්ක්ස්

2
Ra ට්‍රේන් ෆ්‍රෑන්ක්ස් “සුපුරුදු පරිදි මෘදුකාංග යාවත්කාලීන ප්‍රචාරණ ප්‍රමාදය පූර්ණ ලෙස ක්‍රියාත්මක වේ.” සියලුම iOS පරිශීලකයින් වෙත U2 හි සම්පූර්ණ ඇල්බමය තල්ලු කරන සංවිධානයකට කෙසේ හෝ 4MB ට වඩා අඩු ආරක්ෂක යාවත්කාලීනයක් යටපත් කළ හැක්කේ කෙසේදැයි මට තේරෙන්නේ නැත.
ජේක්ගෝල්ඩ්

Ake ජේක්ගෝල්ඩ්: හෙහ්. ඔව්, එය විහිළුවක්. මම මෙම සිංහ පද්ධතියේ මෘදුකාංග යාවත්කාලීන කිරීම පරීක්ෂා කළ අතර එය කියා සිටින්නේ පද්ධතිය යාවත්කාලීනව පවතින බවයි. මෙහි තවත් මවුන්ටන් ලයන් පද්ධතියක් හා සමානයි.
ට්‍රේන් ෆ්‍රෑන්ක්ස්

5

පළමුවෙන්ම, මෙම අවදානම සඳහා බැෂ් සහ ෂා ඇලවීම ඔබේ මැක්හි සමහර ස්ක්‍රිප්ට් බිඳ දැමීමට ඉඩ ඇත. ඔබ ඔබේ මැක් වෙතින් කෙලින්ම පොදු අන්තර්ජාලයට වෙබ් සේවා සපයන්නේ නම් මිස ඔබට මෙය කිරීමට අවශ්‍ය නොවේ. එබැවින් එය සැබවින්ම අවශ්‍ය නොවේ නම්, ඇපල් වෙතින් නිල ආරක්ෂක යාවත්කාලීනයක් ලැබෙන තෙක් රැඳී සිටින්න.

අනතුරු අඟවා ඇති පරිදි, මේරික්ස් 10.9 හි බ rew භාවිතා කරමින් මෙම යාවත්කාලීනය කරන්නේ කෙසේද යන්න පිළිබඳ උපදෙස් කිහිපයක් මෙන්න.

ඔබ යල් පැන ගිය බෑෂ් එකක් භාවිතා කරන බව පළමුව තහවුරු කරන්න:

$ which bash
/bin/bash
$ /bin/bash --version
GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13)
Copyright (C) 2007 Free Software Foundation, Inc.

වඩාත්ම වර්තමාන බැෂ් 4.3.25 වේ

ඔබ සතුව Xcode ස්ථාපනය කර නොමැති නම්, ඔබට ස්ථාපනය කළ හැකි Xcode විධාන රේඛා මෙවලම් අවශ්‍ය වේ

$ xcode-select --install

නැතහොත් සංවර්ධක ද්වාරයෙන් .

බ rew ( http://brew.sh ) ස්ථාපනය කිරීමට :

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ඉන්පසු කරන්න:

$ brew doctor

ගැටළු ඇත්නම් උපදෙස් අනුගමනය කරන්න. බොහෝ පොදු ගැටළු මෙහිදී විසඳනු ලැබේ .

ඉන්පසු නවතම පැකේජ ලැයිස්තුවට බීර යාවත්කාලීන කරන්න:

$ brew update

නවතම bash ලබා ගැනීම සඳහා 4.3.25:

$ brew install bash

මෙය බාෂ් ස්ථාපනය කරයි /usr/local/Cellar/bash/4.3.25/bin/bash

පැරණි bashහා shතවමත් පවතී /bin, එබැවින් ස්ථාපනය කිරීමෙන් පසු ඔබ පැරණි ක්‍රියාත්මක කළ හැකි දෑ නව ගොනුවකට නම් කරන්න.

$ sudo mv /bin/bash /bin/bash_old
$ sudo mv /bin/sh /bin/sh_old

ඔබ ඉතා ව්‍යාකූල නම්, ඔබට ක්‍රියාත්මක කිරීමේ අවසරයන් ඉවත් කළ හැකිය bash_old

$ sudo chmod a-x /bin/bash_old /bin/sh_old

ඉන්පසු බීර ස්ථාපනය කර ඇති නව බෑෂ් 4.3.25 වෙත සංකේතාත්මක සබැඳියක් සාදන්න.

$ sudo ln -s /usr/local/Cellar/bash/4.3.25/bin/bash /bin/bash
$ sudo ln -s /usr/local/Cellar/bash/4.3.25/bin/bash /bin/sh

නැවත ආරම්භ කර එය සම්පූර්ණයි.

අනතුරු ඇඟවීමක් - මෙය බාෂ් 3.2 මත විශ්වාසය තැබිය හැකි දැනට පවතින සමහර ෂෙල් ස්ක්‍රිප්ට් හෝ shලිනක්ස් වලට වඩා මැක් සතුව ඇති වෙනස්කම් බිඳ දැමිය හැකිය sh. මෙම ත්‍රෙඩ් එකේම @TraneFranks විසින් දෙන ලද පිළිතුරකින්, මූලාශ්‍රවලින් බැෂ් සහ ෂී වෙනුවට ආදේශ කිරීම සඳහා වඩාත් නවීන පිළිතුරක් ඇත.


4
3.2.51 සිට 3.2.52 දක්වා පැච් කිරීම 4.3.anything දක්වා ඉහළ නැංවීමට වඩා අඩු හානියක් සිදු කරයි.
ඇල්බියු

එය සමහර ස්ක්‍රිප්ට් බිඳ දැමිය හැකි බවට මම අනතුරු අඟවන්නෙමි, නමුත් 4.3.25 යනු වර්තමාන ලෙස බ rew ස්ථාපනය කරන දෙයයි - මම උත්සාහ කරන්නේ එය මුල සිටම ස්ථාපනය කිරීම පහසු (එර්) අනුවාදයක් ඉදිරිපත් කිරීමට ය. පැරණි ක්‍රියාත්මක කළ හැකි දේ නැවත නම් කිරීමෙන් ඔබට සැමවිටම ප්‍රතිස්ථාපනය කළ හැකිය.
ක්‍රිස්ටෝපර් ඇලන්

2
මෙම දෝෂය අනිෂ්ට DHCP සේවාදායකයක් (උදා: WiFi හොට්ස්පොට්) විසින් සූරාකෑමට ලක්වන අතර ඔබේ පරිගණකය මුළුමනින්ම උකහා ගත හැකිය, එබැවින් එය ASAP නිවැරදි කිරීම වටී. වෙනත් පිළිතුරු වෙනුවට ආදේශ කිරීම සඳහා වඩා හොඳ උපදෙස් ඇති /bin/bashඅතර /bin/shඑය බ rew ගේ නවතම බෑෂ් වෙත යාවත්කාලීන කිරීමට වඩා අඩු ගැටළු ඇති කරයි.
ඕල්ඩ් ප්‍රෝ

මැක් ඩීඑච්සීපී ප්‍රහාරයට ගොදුරු නොවිය හැකිය.
ක්‍රිස්ටෝපර් ඇලන්

10
DCHP සේවාදායක ප්‍රහාරය සිදුවිය හැක්කේ ඔබේ DHCP සේවාදායකයා OSX ක්‍රියාත්මක කිරීම නොකරන Bash ස්ක්‍රිප්ට් භාවිතා කරන්නේ නම් පමණි.
ඇල්බ්ලූ

5

OS X 10.6.8 - හිම දිවියා

LAlBlue හි තනතුර ඉතා සම්පූර්ණයි. කෙසේ වෙතත්, මගේ OS X 10.6.8 සේවාදායකයේ ඔහුගේ නිවැරදි කිරීම ක්‍රියා නොකරනු ඇත. ඇපල් සමාගමට 10.6.8 සඳහා විසඳුමක් නොමැති අතර @ ඇල්බ්ලූ විසින් පැහැදිලි කරන ලද පියවර එක්ස්කෝඩ් 3.2.6 සමඟ ක්‍රියා නොකරයි (මෙය හිම දිවියා සඳහා නවතම අනුවාදය වේ). මට දෝෂයක් ලැබුණි:

** BUILD FAILED **

The following build commands failed:
sh:
    CodeSign /Users/bas/bash-fix/bash-92/build/Release/sh
bash:
    CodeSign /Users/bas/bash-fix/bash-92/build/Release/bash
(2 failures)

මේ හේතුව නිසා මම brew.sh භාවිතා කරමි . OS X 10.6.8 හිම දිවියා සඳහා ඔබට වඩා හොඳ විසඳුමක් ඇති විට කරුණාකර ඔබේ අදහස් අදහස් දක්වන්න. @ ජෙරොම්ගේ අදහස් ද බලන්න, ඔහුට ඕඑස් එක්ස් 10.6.8 හිම දිවියා @ ඇල්බ්ලූගේ විසඳුම භාවිතා කරමින් සාර්ථක පැච් එකක් තිබුණි. කෙසේ වෙතත්:

පළමුව පහත දැක්වෙන ඔනෙලයිනර් සමඟ බීර ස්ථාපනය කරන්න:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

යාවත්කාලීන කරන්න brew

brew update

දැන් නවතම අනුවාදය ස්ථාපනය bashකර වර්තමාන එක ප්‍රතිස්ථාපනය කරන්න:

brew install bash
sudo sh -c 'echo "/usr/local/bin/bash" >> /etc/shells'
chsh -s /usr/local/bin/bash
sudo mv /bin/bash /bin/bash-backup
sudo ln -s /usr/local/bin/bash /bin/bash

ඔබට Command (complete path)එහි මනාපයන් ( Command,) හි Terminal.app සඳහා පෙරනිමි පිවිසුම් කවචය සැකසිය හැකිය.රූප විස්තරය මෙහි ඇතුළත් කරන්න


සටහන: අදහස් දැක්වීමේදී සමහර පරිශීලකයින් මෙම ක්‍රමය සුදුසු යැයි නොසිතයි. නමුත් මට නම් මෙය OS X 10.6.8 හිම දිවියා මත BASH යාවත්කාලීන කිරීම සඳහා තේරුම් ගත හැකි එකම ක්‍රමයයි.


1
සමහර පිටපත් bash 3 මත රඳා හා bash 4 සමග වැඩ නැහැ (macports bash 4.3.25 මම උපකල්පනය කරන ගෙදර ගතියට කිරීමට යාවත්කාලීන කර ඇත නියම කර තිබේ
user151019

2
ඔබත් යාවත්කාලීන කරන්නේ නැත sh- ඔබත් එය කළ යුතුය. /bin/sh! = /bin/bash. /bin/shඔබ පද්ධති විධාන ක්‍රියාත්මක කරන විට බොහෝ මෙවලම් ඉවත් වේ . system()නිදසුනක් ලෙස රූබීගේ ඇමතුම භාවිතා කරන්නේ /bin/shඔබට ෂෙල් පුළුල් කිරීමේ චරිතයක් ඇති විට එය නූල් තුළ පුළුල් කළ යුතු බවයි. ඔබේ පද්ධති ද්විමය IMO යාවත්කාලීන කිරීම සඳහා ඔබ හෝම්බ rew භාවිතා කරමින් පරාජිත ක්‍රීඩාවක් කරමින් සිටී. පද්ධති ද්විමයන් නිසි ලෙස යාවත්කාලීන bash කිරීමට අමතරව ඔබ හෝම්බ rew යාවත්කාලීන කළ යුතුය .
ඉයන් සී.

1
OSX 10.8 සහ 10.9 Bash 3.2 භාවිතා කරන බව මතක තබා ගන්න, එබැවින් direct ජු අනුකූලතාව සඳහා මම 3.2 සමඟ අනුවාදය ලෙස ගියෙමි. මෙය පෙර අනුවාදය සඳහා ඇපල් විසින් නිල වශයෙන් ගොඩ නැගීම මත පදනම් වූ අතර, එයට
දීර්

1
මම සෑම අවස්ථාවකම 3.2.6 ක් ධාවනය කරමි. මට තේරෙනවා ගොඩනැගීමේදී අසමත් වීම xcodebuild? එසේ නම්, මම එය අත්විඳ නැත. ඔබට පසෙකට දැමීමට මට ස්ථිර යෝජනා කිහිපයක් තිබේ: ඔබට බහුවිධ ගොඩනැඟිලි තිබේදැයි පරීක්ෂා කරන්න, පිරිසිදු කිරීම (බීර අස්ථාපනය කිරීම) සහ xcode නැවත ස්ථාපනය කිරීම ගැන සලකා බලන්න ... ඉන්පසු පැච් ක්‍රියාවලිය නැවත ආරම්භ කරන්න.
ජෙරොම්

1
හිම දිවියා මත අතින් සාදන ලද තොග බාෂ් -4.3 සමඟ මට බරපතල රැකියා පාලන ගැටළු තිබේ (මම ඊමාක්ස් ආරම්භ කර එය අත්හිටුවුවහොත්, මට එය 'fg' සමඟ නැවත ආරම්භ කළ නොහැක). මම පටන් සිට bash සඳහා හිම දිවියා ප්රභවය බාගත කර opensource.apple.com/release/mac-os-x-1068 , සිට පැච් ftp.gnu.org/gnu/bash/bash-3.2-patches , හා නැවත ගොඩනඟා වඩා හොඳ බලපෑමක්.
mormegil

-6

ඔබට මෙහි ඇති උපදෙස් අනුගමනය කළ හැකිය: https://github.com/tjluoma/bash-fix මූලික වශයෙන්, පහත සඳහන් කරුණු පර්යන්තයකින් කරන්න:

curl -s https://raw.githubusercontent.com/tjluoma/bash-fix/master/bash-fix.sh | zsh -f

5
සසම්භාවී ගිතුබ් ගිණුම් වලින් අහඹු ෂෙල් ස්ක්‍රිප්ට් ක්‍රියාත්මක කිරීම යනු ඔබ ඕනෑම යන්ත්‍රයක වඩා ආරක්ෂිත තත්වයකට පත්වන්නේ කෙසේද යන්න නොවේ. ඔබට අවසාන කරුණ විශ්වාස කිරීමට අවශ්‍යයි.
ඉයන් සී.

මට මෙහි ඉයන් සමඟ එකඟ විය යුතුයි. මෙම CVEs විස්තර කරන ගැටළු වැනි විශ්වාස කළ නොහැකි ෂෙල් ස්ක්‍රිප්ට් හරහා නාටකාකාර හානියක් හඳුන්වා දීම ඇත්තෙන්ම පහසුය.
ට්‍රේන් ෆ්‍රෑන්ක්ස්

මෙම FUD පැතිරීම සමඟ තදින්ම එකඟ නොවේ. සියලුම ෂෙල් ස්ක්‍රිප්ට් ක්‍රියාත්මක කිරීමට පෙර කියවන්න, https: // වෙතින් පමණි.
dhchdhd
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.