ITmedia NEWS > �Z�L�����e�B >
ZLeBEzbggsbNX

�\�[�X�R�[�h�ɐƎ㐫����܂�����Unicode���p�U���@�uTrojan Source�v�������҂����\

» 2021�N11��02�� 18��16�� ���J
[ITmedia]

�@�p�P���u���b�W��w�R���s���[�^��������11��1���i���n���ԁj�A�uTrojan Source�FInvisible Vulnerabilities�v�i�����N���PDF�j�Ƃ����_�������J�����BTrojan Source�́A�u�l�Ԃ̃R�[�h���r���A�[�ɂ͌����Ȃ��^�[�Q�b�g���i�����Ǝ㐫���쐬���邽�߂̃N�[���ȐV�g���b�N�v�Ƃ����B

�@�����҂̃��X�E�A���_�[�\�����́A�uUnicode�̕������I�[�o�[���C�h�������g���āA�R�[�h��ʂ̃��W�b�N�̃A�i�O�����Ƃ��ĕ\�����邱�̍U���́AC�AC++�AC���AJavaScript�AJava�ARust�AGo�APython�ɑ΂��ċ@�\���邱�Ƃ��m�F���Ă���A���̂قƂ�ǂ̌���ɑ΂��Ă��@�\����Ǝv����v�Ɛ�������B

�@�u�l�Ԃ�����̂ƈقȂ郍�W�b�N���R���p�C���Ɏ�����悤�ɁA�\�[�X�R�[�h�t�@�C���̃G���R�[�f�B���O�𑀍삷����@�𔭌������v�B�R�����g�╶����ɖ��ߍ��܂ꂽ���䕶�����g�����ƂŁA�U���҂̓\�[�X�R�[�h����בւ��A���p�”\�ȐƎ㐫�𐶂ݏo�����@�Ń��W�b�N��ύX�ł���B

�@�_���ł�2�‚̕��@���Љ�Ă���B1�‚͑o�����e�L�X�g��Unicode�R���g���[�����g���ăR���e���c���\������������ς��A�R�[�h�쐬�҂��Ӑ}����̂Ƃ͈قȂ郍�W�b�N�𐶐�������@�B����ɂ‚��Ă�Rust���uCVE-2021-42574�v�Ƃ��ăZ�L�����e�B�A�h�o�C�U�������J�����B

�@����1�‚̓z���O���t�U���ƌĂ΂��U���ŁA�����́u0�v�ƕ����́uO�v�A�ul�v�ƁuI�v�ȂǁA�l�Ԃ̖ڂɂ͋�ʂ̂‚��ɂ����������g�����ƂŁA�R�[�h��2�‚̈قȂ�֐��Ƃ��Ĉ����Ƃ������́iCVE-2021-42694�j�B

 trojan �z���O���t�U���̗�B�A���t�@�x�b�g�́uH�v�ƃL���������́uH�v�͐l�Ԃɂ͋�ʂ��‚��Ȃ�

�@Trojan Source��h�䂷����@�Ƃ��āAUnicode���T�|�[�g����R���p�C���A�C���^�v���^�A�r���h�p�C�v���C���ŁA�R�����g�╶���񃊃e�������̏I�����Ă��Ȃ��o�������䕶���⍬���X�N���v�g�̕���킵���������܂ގ��ʎq�ɃG���[��x���𓊂��邱�ƂƐ������Ă���B����d�l�ł́A�R�����g�╶���񃊃e�����ł̏I�����Ă��Ȃ��o�������䕶���𐳎��ɋ֎~����K�v������Ƃ����B�R�[�h�G�f�B�^�ƃ��|�W�g���v�����g�G���h�́A�o�����̐��䕶���ƍ����X�N���v�g�̎��ʂ̓�����������o�I�ȋL����x���ŔF���ł���悤�ɂ���K�v������Ƃ��w�E���Ă���B

�@�����҂�͔�������Trojan Source�̍U�����󂯂�”\���̂��鐻�i�ɂ‚��āA19�Ђ̃T�v���C���[��7��25���ɒʒm���A99���Ԃ̊J���P�\��ݒ肵���B�J���܂ł�9�Ђ��p�b�`�̃����[�X��񑩂����Ƃ����B

Copyright © ITmedia, Inc. All Rights Reserved.

'; e_dlv.innerHTML = html; adRequest({position:dlv_pos,dom:true}); }else if(ad_type === 'gam'){ var html = '
'; e_dlv.innerHTML = html; refreshGam('InArtSpecialLink'); }else if(ad_type === 'logly'){ var html = '
'; e_dlv.innerHTML = html; loglySet(g_id); }else if(ad_type === 'google'){ var html = '
'; e_dlv.innerHTML = html; googletag.cmd.push(function(){ var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); googletag.display('div-gpt-ad-1551176482959-0'); googletag.pubads().refresh([slot8]); }); } }; var insert_ok = function(_target,_str){ var clearfix = d.createElement('div'); clearfix.className = 'colBoxClear'; if(ad_float_fix){ e_body.insertBefore(e_dlv,_target); e_body.insertBefore(clearfix,_target.nextElementSibling); }else{ e_body.insertBefore(e_dlv,_target); } set_dlv(); }; var insert_ng = function(_str){ e_dlv.style.display = 'none'; }; var main = function(){ var e_nodes = e_body.childNodes; // BODY �����q�v�f var e_tags = []; // BODY �����^�O var p_num = []; // BODY ���� P �^�O�ʒu var p_target_num; // �g�}����ʒu var o_float = {}; // ��荞�ݗv�f var o_this = {}; // �A�N�e�B�u�^�O var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O var flag_insert = 0; // �}���t���O // ��荞�ݗv�f�`�F�b�N var check_float = function(_e){ var e = 0; if(_e.id.match(/^col\d{3}(l|r)$/)){ e = _e; } return e; }; // �v�f�� Y ���W�ƍ����̍��v�l var get_element_y = function(_e){ var ey = 0; var eh = _e.offsetHeight; while(_e){ ey += _e.offsetTop; _e = _e.offsetParent; } return ey + eh; }; var check_ptag = function(_e){ var e = 0; if(_e.tagName && _e.tagName === 'P'){ e = _e; } return e; }; var try_insert = function(){ p_target_num = Math.floor(p_num.length / 2) - 1; if(p_target_num >= _maxrange) p_target_num = _maxrange; if(dis_con) p_target_num = 0; for(var i = p_num[p_target_num]; i < e_tags.length; i++){ o_this.e = check_ptag(e_tags[i]); if(o_this.e){ o_next.e = check_ptag(e_tags[i + 1]); if(o_next.e){ if(!o_float.e || check_float(e_tags[i - 1])){ o_float.e = check_float(e_tags[i - 1]); o_float.n = i - 1; } if(o_float.e && o_float.n < i + 1){ o_float.y = get_element_y(o_float.e); o_this.y = get_element_y(o_this.e); set_line(o_float.y,'red'); set_line(o_this.y,'blue'); if(o_float.y < o_this.y){ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���'); break; } }else{ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�'); break; } } }else{ o_float = {}; } } if(!flag_insert){ insert_ng('�}���ʒu�Ȃ�'); } }; // �S�q�v�f����^�O�̂ݔz��ɓ���� for(var i = 0; i < e_nodes.length; i++){ if(e_nodes[i].tagName){ e_tags.push(e_nodes[i]); } } // �S�^�O���� P �^�O�ʒu��z��ɓ���� for(var i = 0; i < e_tags.length; i++){ if(e_tags[i].tagName === 'P') p_num.push(i); // �ŏ��̉�荞�ݗv�f���i�[ if(!o_float.e){ o_float.e = check_float(e_tags[i]); o_float.y = get_element_y(o_float.e); o_float.n = i; } } if(p_num.length >= _threshold){ try_insert(); }else{ insert_ng('P �^�O ' + _threshold + ' �ȉ�'); } }; if(e_body){ main(); }else{ insert_ng('�L���{���Ȃ�'); } })(document,4,5);