OpenSSH 9.2 విడుదల ప్రచురించబడింది, SSH 2.0 మరియు SFTP ప్రోటోకాల్లను ఉపయోగించి పని చేయడానికి క్లయింట్ మరియు సర్వర్ యొక్క బహిరంగ అమలు. కొత్త సంస్కరణ ముందస్తు ప్రామాణీకరణ దశలో మెమరీని రెట్టింపు విముక్తికి దారితీసే దుర్బలత్వాన్ని తొలగిస్తుంది. OpenSSH 9.1 విడుదల మాత్రమే ప్రభావితమవుతుంది; సమస్య మునుపటి సంస్కరణల్లో కనిపించదు.
దుర్బలత్వం యొక్క అభివ్యక్తి కోసం పరిస్థితులను సృష్టించడానికి, SSH యొక్క సంస్కరణపై ఆధారపడిన "SSH_BUG_CURVE2.0PAD" మరియు "SSH_OLD_DHGEX" ఫ్లాగ్లను సెట్ చేయడానికి SSH క్లయింట్ బ్యానర్ను "SSH-9.1-FuTTYSH_1p25519"కి మార్చడం సరిపోతుంది. క్లయింట్. ఈ ఫ్లాగ్లను సెట్ చేసిన తర్వాత, “options.kex_algorithms” బఫర్కు మెమరీ రెండుసార్లు ఖాళీ చేయబడుతుంది - do_ssh2_kex() ఫంక్షన్ని అమలు చేస్తున్నప్పుడు, ఇది compat_kex_proposal() అని పిలుస్తుంది మరియు do_authentication2() ఫంక్షన్ని అమలు చేస్తున్నప్పుడు, ఇది input_userauthauthpwn(rama_reget) అని పిలుస్తుంది. ), copy_set_server_options() గొలుసు వెంట , assemble_algorithms() మరియు kex_assemble_names().
దుర్బలత్వం కోసం వర్కింగ్ ఎక్స్ప్లోయిట్ను సృష్టించడం అసంభవంగా పరిగణించబడుతుంది, ఎందుకంటే దోపిడీ ప్రక్రియ చాలా క్లిష్టంగా ఉంటుంది - ఆధునిక మెమరీ కేటాయింపు లైబ్రరీలు మెమరీని రెట్టింపు ఫ్రీయింగ్ నుండి రక్షణను అందిస్తాయి మరియు లోపం ఉన్న ప్రీ-ఆథు ప్రాసెస్లో తగ్గిన అధికారాలు ఉన్నాయి. శాండ్బాక్స్ పర్యావరణం.
గుర్తించబడిన దుర్బలత్వంతో పాటు, కొత్త విడుదల మరో రెండు భద్రతా సమస్యలను కూడా పరిష్కరిస్తుంది:
- "PermitRemoteOpen" సెట్టింగ్ను ప్రాసెస్ చేస్తున్నప్పుడు ఒక లోపం సంభవించింది, దీని వలన "ఏదైనా" మరియు "ఏదీ కాదు" విలువలకు భిన్నంగా ఉంటే మొదటి వాదన విస్మరించబడుతుంది. సమస్య OpenSSH 8.7 కంటే కొత్త వెర్షన్లలో కనిపిస్తుంది మరియు ఒక అనుమతిని మాత్రమే పేర్కొన్నప్పుడు చెక్ దాటవేయబడుతుంది.
- కాన్ఫిగరేషన్లో CanonicalizeHostname మరియు CanonicalizePermittedCNAMEs ఎంపికలు ప్రారంభించబడి ఉంటే, పేర్లను పరిష్కరించేందుకు ఉపయోగించే DNS సర్వర్ను నియంత్రిస్తున్న దాడి చేసే వ్యక్తి ప్రత్యేక అక్షరాలను (ఉదాహరణకు, “*”) తెలిసిన_హోస్ట్ ఫైల్లలోకి మార్చగలడు మరియు సిస్టమ్ పరిష్కర్త యొక్క ఖచ్చితత్వాన్ని తనిఖీ చేయలేదు DNS సర్వర్ నుండి ప్రతిస్పందనలు. తిరిగి వచ్చిన పేర్లు తప్పనిసరిగా CanonicalizePermittedCNAMEs ద్వారా పేర్కొన్న షరతులతో సరిపోలాలి కాబట్టి దాడి అసంభవంగా పరిగణించబడుతుంది.
ఇతర మార్పులు:
- కమాండ్ లైన్ను అందించే "~C" ఎస్కేప్ సీక్వెన్స్ యొక్క క్లయింట్-సైడ్ ప్రాసెసింగ్ ప్రారంభించబడిందో లేదో నియంత్రించడానికి ssh కోసం ssh_configకి EnableEscapeCommandline సెట్టింగ్ జోడించబడింది. డిఫాల్ట్గా, కఠినమైన శాండ్బాక్స్ ఐసోలేషన్ని ఉపయోగించడానికి "~C" హ్యాండ్లింగ్ ఇప్పుడు నిలిపివేయబడింది, రన్టైమ్లో పోర్ట్ ఫార్వార్డింగ్ కోసం "~C"ని ఉపయోగించే సిస్టమ్లను విచ్ఛిన్నం చేస్తుంది.
- ఛానెల్ ఇన్యాక్టివిటీ టైమ్అవుట్ను సెట్ చేయడానికి sshd కోసం sshd_configకి ChannelTimeout ఆదేశం జోడించబడింది (నిర్దేశనంలో పేర్కొన్న సమయానికి ట్రాఫిక్ రికార్డ్ చేయబడని ఛానెల్లు స్వయంచాలకంగా మూసివేయబడతాయి). సెషన్, X11, ఏజెంట్ మరియు ట్రాఫిక్ దారి మళ్లింపు కోసం వేర్వేరు గడువులను సెట్ చేయవచ్చు.
- UnusedConnectionTimeout డైరెక్టివ్ sshd కోసం sshd_configకి జోడించబడింది, ఇది నిర్దిష్ట సమయం వరకు సక్రియ ఛానెల్లు లేకుండా ఉన్న క్లయింట్ కనెక్షన్లను ముగించడానికి గడువును సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
- ssh క్లయింట్లోని సారూప్య ఎంపిక వలె సంస్కరణను ప్రదర్శించడానికి “-V” ఎంపిక sshdకి జోడించబడింది.
- హోస్ట్ పేరు ఆర్గ్యుమెంట్ విలువను ప్రతిబింబిస్తూ "ssh -G" అవుట్పుట్కి "హోస్ట్" లైన్ జోడించబడింది.
- కాపీ బఫర్ పరిమాణం మరియు పెండింగ్లో ఉన్న అభ్యర్థనల సంఖ్య వంటి SFTP ప్రోటోకాల్ పారామితులను నియంత్రించడానికి "-X" ఎంపిక scp మరియు sftpకి జోడించబడింది.
- ssh-keyscan పూర్తి CIDR చిరునామా పరిధులను స్కాన్ చేయడానికి అనుమతిస్తుంది, ఉదాహరణకు "ssh-keyscan 192.168.0.0/24".
మూలం: opennet.ru