Բուֆերային արտահոսքի խոցելիություն libssh-ում

Libssh գրադարանում հայտնաբերվել է խոցելիություն (CVE-2-2) (չշփոթել libssh2021-ի հետ), որը նախատեսված է SSHv3634 պրոտոկոլի համար հաճախորդի և սերվերի աջակցությունը C ծրագրերին ավելացնելու համար, ինչը հանգեցնում է բուֆերի արտահոսքի՝ վերաբանալու գործընթացը սկսելիս: օգտագործելով բանալիների փոխանակում, որն օգտագործում է հեշավորման այլ ալգորիթմ: Խնդիրն ամրագրված է 0.9.6 թողարկման մեջ:

Խնդիրի էությունն այն է, որ բանալիների փոփոխման գործողությունը թույլ է տալիս օգտագործել գաղտնագրային հեշեր՝ cast-ի չափով, որը տարբերվում է սկզբնապես օգտագործված ալգորիթմից: Այս դեպքում, libssh-ում հեշի հիշողությունը հատկացվել է սկզբնական հեշի չափի հիման վրա, և ավելի մեծ հեշի չափի օգտագործումը հանգեցնում է նրան, որ տվյալները վերագրվում են հատկացված բուֆերային սահմանից այն կողմ: Որպես հետադարձ անվտանգության մեթոդ, դուք կարող եք սահմանափակել աջակցվող բանալիների փոխանակման մեթոդների ցանկը միայն նույն հեշ չափով ալգորիթմներով: Օրինակ, SHA256-ին կապվելու համար կարող եք ավելացնել կոդը՝ rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdhp-sha2-nist");

Source: opennet.ru

Добавить комментарий