UmbrellaX-ի մասնավոր բետա թարմացում
Անվտանգության մեր վերանայման ընթացքում մենք լուրջ խնդիրներ հայտնաբերեցինք մի քանի բաց կոդով գրադարաններում, որոնք օգտագործվում էին գաղտնագրման և անվտանգ հաղորդակցության համար: Տեղական ուղղումները պատրաստ են, բայց դրանք դեռ պետք է ամբողջական ստուգում և անկախ վերանայում: Ես չեմ թողարկի բետա տարբերակը, քանի դեռ վստահ չեմ, որ այս ռիսկերը փակված են:
Ահա ամբողջական ցանկը պարզ լեզվով. Բացեք բաժինը, որպեսզի տեսնեք, թե ինչ կարող է սխալ լինել, ամենօրյա օրինակ և կարկատել հղումը:
Ապակոդավորված խմբային գաղտնիքները կարող են լրացուցիչ պատճեններ թողնել հիշողության մեջ կամ ախտորոշման մեջ: Վատ գաղտնագրված տեքստը, ողջույնի հաղորդագրությունները, առաջարկները, թարմացման ուղիները, բացակայող տեղական բանալիները, պատահական թվերի ձախողումները, համակարգի անսովոր ժամանակը և դարաշրջանի սահմանափակումները կարող են փակել հավելվածը՝ անվտանգ սխալ վերադարձնելու փոխարեն: Որոշ ծառերի ամբողջականության և ուղու երկարության ստուգումներ նույնպես երաշխավորված չէին յուրաքանչյուր թողարկման ուղու վրա:
Օրինակ՝ ցանցից ստացված կոտրված խմբի թարմացումը պետք է մերժվի՝ առանց մեսենջերը փակելու, ամբողջականության ստուգումը բաց թողնելու կամ խափանման զեկույցում հաղորդագրության բայթերը բացահայտելու:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: openmls 0.8.1 | UMB-117, UMB-118, UMB-120, UMB-121, UMB-125, UMB-128, UMB-129, UMB-130, UMB-131, UMB-132, UMB-133, UMB-134, UMB-135, UMB-136, UMB-137, UMB-138, UMB-139
Ջնջված կամ փոխարինված MLS գրառումները կարող են հիշողության մեջ թողնել սերիական պատճեններ կամ առաջարկի թաքնված մարմիններ: Խմբային նկարները պահանջում էին ատոմային տիրույթով փոխարինում, վրիպազերծման մուտքի կարիք՝ խմբագրում և կամընտիր կայուն ռեժիմ, որը պահում էր ընթեռնելի կոդավորված տեքստ՝ վավերացված կոդավորված տվյալների փոխարեն:
Օրինակ, խմբի ջնջումը պետք է նաև հեռացնի իր թաքնված առկա առաջարկները, և պահեստավորման տարբերակը չպետք է գաղտնագրված տեսք ունենա, երբ այն միայն տվյալները փոխակերպում է ընթեռնելի տեքստի:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: openmls_memory_storage 0.5.0 | UMB-119, UMB-212, UMB-213, UMB-214
Չօգտագործված կամընտիր backend-ը դեռևս խոցելի փաթեթ է ներգրավել կախվածության գույքագրման մեջ: HPKE մասնավոր նյութը նույնպես կարիք ուներ ավելի ուժեղ խմբագրման և հիշողության մաքրման:
Օրինակ, backend-ը, որը մենք չենք օգտագործում, չպետք է թողարկի հայտնի խոցելի փաթեթը, և սխալի տպագրությունը երբեք չպետք է պարունակի HPKE մասնավոր բանալի:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: hpke-rs 0.6.1 | RUSTSEC-2026-0124
Պատահական գեներատորը և HPKE-ի ժամանակավոր արժեքները իրական մաքրման կարիք ունեին: Չհաջողված վավերացված ապակոդավորումը կարող է նաև թողնել մասամբ փոփոխված պարզ տեքստի բուֆեր հիշողության մեջ:
Օրինակ, երբ հաղորդագրության նույնականացումը ձախողվում է, կիսամշակված պարզ տեքստի բուֆերը պետք է անմիջապես ջնջվի:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: hpke-rs-rust-crypto 0.6.1 | UMB-122
Պատահական վիճակ, բանալիների ստացման ելք, մասնավոր բանալիների բայթեր և գաղտնագրման ձախողված բուֆերներ մաքրման կարիք ունեն: Անվավեր անվավեր երկարությունները և բանալիների փոխանակման չաջակցվող հարցումները կարող են հասնել գործընթացի ավարտի ուղիներին:
Օրինակ՝ սխալ ձևավորված նոնսը պետք է վերադարձնի սովորական սխալ՝ մեսենջերը փակելու փոխարեն:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: openmls_rust_crypto 0.5.1 | UMB-122, UMB-123, UMB-124
Ստորագրելով նոնսեր, բաժնետոմսեր, սկալյար բայթեր և ժամանակավոր ընթեռնելի գաղտնի տողեր, անհրաժեշտ էր մաքրել հաջողության և սխալի ուղիները: Չօգտագործված հատկանիշը նաև քաշեց չպահպանված կախվածության շղթա:
Օրինակ, խմբային ստորագրության համար օգտագործվող ժամանակավոր արժեքները չպետք է ընթեռնելի մնան հիշողության մեջ ստորագրման ավարտից կամ ձախողումից հետո:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: frost-core 3.0.0 | local audited patch
Անտեսված կեղծ պատահական բանալիները և բանալիների ընդլայնման միջանկյալ բլոկները կարող են մնալ հիշողության մեջ՝ վերջնական բանալի արտադրվելուց հետո:
Օրինակ, նիստի ստեղնը պատրաստ լինելուց հետո այն ստանալու համար օգտագործվող ժամանակավոր բաղադրիչները պետք է ջնջվեն:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: hkdf 0.12.4 | local compatibility backport
Ստացված բանալիների բլոկները, չափազանց մեծ ստեղնաշարի ամփոփումները և համատեղելի HMAC ճյուղի ներքին հեշ արդյունքները կարող են մնալ սովորական հիշողության մեջ:
Օրինակ, հաղորդագրության իսկությունը ստուգելը չպետք է ետևում թողնի ստեղնից ստացված բազմակի օգտագործման բայթերը:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: hmac 0.12.1 | local compatibility backport
Մաքրման հասանելի տարբերակը լռելյայն անջատված էր և ընդգրկում էր ժամանակավոր և պահված բանալիից ստացված վիճակի միայն մի մասը:
Օրինակ, իսկորոշման ստուգումն ավարտելը պետք է մաքրի ինչպես ժամանակավոր, այնպես էլ պահված բանալիներից ստացված բլոկները:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: hmac 0.13.0 | local audited patch
SHA-256 և SHA-512 աշխատանքային վիճակի և բլոկների հաշվիչներն անհապաղ մաքրման կարիք ունեն համատեղելի ճյուղում:
Օրինակ, բանալիների ստացման ժամանակ գաղտնիք հաշելը չպետք է թողնի հեշ շարժիչի աշխատանքային վիճակը բազմակի օգտագործման հիշողության մեջ:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: sha2 0.10.9 | local compatibility backport
Վնասված մուտքագրումը կարող է պահանջել հսկայական հատկացում, կարդալ իր հայտարարված դաշտից այն կողմ, հանգույց առանց առաջընթացի կամ առաջացնել արտահոսքի և խուճապի ուղիներ: Գաղտնի վեկտորային ախտորոշումը և մասնակի ձախողված մուտքագրումը նույնպես մաքրման կարիք ուներ:
Օրինակ, փոքրիկ հաղորդագրությունը, որը կեղծ պնդում է, որ հսկայական դաշտ է պարունակում, չպետք է սպառի հսկայական հիշողություն կամ հավելվածը փակի անվերջ օղակի մեջ:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: tls_codec 0.4.2 | local audited patch
STUN հաղորդագրության ամբողջականության բանալին կարող էր տպվել ախտորոշման մեջ և հստակորեն չէր ջնջվել հավատարմագրման ժամանակավոր տեքստով:
Օրինակ, կապի սխալի գրանցամատյանը չպետք է բացահայտի այն գաղտնիքը, որն օգտագործվում է ռելեի հարցումը վավերացնելու համար:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: stun 0.17.1 | audit patch 6e5cbb42
Երկարատև TURN գաղտնաբառը պահվում էր որպես սովորական տող և պահանջում էր հստակ ջնջում, երբ հաճախորդը ոչնչացվում էր:
Օրինակ, զանգի ավարտը չպետք է թողնի իր ռելեի գաղտնաբառը հին հաճախորդի օբյեկտի հիշողության մեջ:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: turn 0.17.1 | audit patch 6e5cbb42
TURN օգտվողի անուններն ու գաղտնաբառերը պահվում էին որպես սովորական տողեր և ավտոմատ կերպով տպվում ICE վրիպազերծման ելքում:
Օրինակ, զանգի միացման հաշվետվությունը կարող է ասել, որ հավատարմագրերը կան, բայց այն չպետք է տպի օգտվողի անունը և գաղտնաբառը:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: webrtc-ice 0.17.1 | audit patch 6e5cbb42
Մեդիա բանալիների ստացման մուտքագրումը, ստացված ստեղները, պահված SRTP/SRTCP աղերը և ծածկագրման աշխատանքային վիճակը հուսալի մաքրման կարիք ունեն:
Օրինակ, գաղտնագրված զանգի ավարտից հետո դրա ժամանակավոր մեդիա ստեղները և աղերը չպետք է մնան սովորական բուֆերներում:
Տեղական ուղղումը պատրաստված է, ստուգումն ընթացքի մեջ է:
Տեխնիկական մանրամասներ: webrtc-srtp 0.17.1 | audit patch 6e5cbb42
Beta նշումների և մուտքի թարմացումների համար հետևեք իմ անձնական X հաշվին։