�\�[�X�R�[�h�ɐƎ㐫����܂�����Unicode���p�U���@�uTrojan Source�v�������҂����\
» 2021�N11��02�� 18��16�� ���J
�@�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
�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);