Facebookは、iOS用アプリでユーザーがフィードをスクロールするだけで、カメラが起動してしまうという明らかなバグに対する懸念の矢面に立たされている。

画像クレジット:Getty Images

Joshua Maddux(ジョシュア・マダックス)氏が、iPhone上のFacebookアプリの画面の録画をツイートしたのをきっかけに、週末のツイッターが炎上した。彼は、Facebookのフィードをスクロールしている最中に、カメラアプリがFacebookアプリのバックグラウンドで起動されていることに気付いた。

すでに数人のユーザーは、今月の初めごろから、このバグを発見していた。それを見て「ちょっと心配」と表現していた人もいた。

( function() {
var func = function() {
var iframe_form = document.getElementById(‘wpcom-iframe-form-897032634c82285ed2e14a4b5b7749bd-5dcc28fd0d888’);
var iframe = document.getElementById(‘wpcom-iframe-897032634c82285ed2e14a4b5b7749bd-5dcc28fd0d888’);
if ( iframe_form && iframe ) {
iframe_form.submit();
iframe.onload = function() {
iframe.contentWindow.postMessage( {
‘msg_type’: ‘poll_size’,
‘frame_id’: ‘wpcom-iframe-897032634c82285ed2e14a4b5b7749bd-5dcc28fd0d888’
}, window.location.protocol + ‘//wpcomwidgets.com’ );
}
}

// Autosize iframe
var funcSizeResponse = function( e ) {
var origin = document.createElement( ‘a’ );
origin.href = e.origin;

// Verify message origin
if ( ‘wpcomwidgets.com’ !== origin.host )
return;

// Verify message is in a format we expect
if ( ‘object’ !== typeof e.data || undefined === e.data.msg_type )
return;

switch ( e.data.msg_type ) {
case ‘poll_size:response’:
var iframe = document.getElementById( e.data._request.frame_id );

if ( iframe && ” === iframe.width )
iframe.width = ‘100%’;
if ( iframe && ” === iframe.height )
iframe.height = parseInt( e.data.height );

return;
default:
return;
}
}

if ( ‘function’ === typeof window.addEventListener ) {
window.addEventListener( ‘message’, funcSizeResponse, false );
} else if ( ‘function’ === typeof window.attachEvent ) {
window.attachEvent( ‘onmessage’, funcSizeResponse );
}
}
if (document.readyState === ‘complete’) { func.apply(); /* compat for infinite scroll */ }
else if ( document.addEventListener ) { document.addEventListener( ‘readystatechange’, function(){
if (document.readyState === ‘complete’) {
func.apply();
}
}, false ); }
else if ( document.attachEvent ) { document.attachEvent( ‘onreadystatechange’, func ); }
} )();

もっと悪い状況を想定した人もいる。セキュリティの脆弱性ユーザーデータの漏洩や、不注意による露出、といったFacebookの長い歴史を考えると、それも当然だろう。先週同社は、一部のデベロッパーが、1年以上にわたってFacebookのユーザーデータへのアクセス権を不適切に保持していたことを認めたばかりだった。

Guardian FirewallのCEOであるWill Strafach(ウィル・ストラファッチ)氏は、「無害のようだが気味の悪いバグ」と表現した。

このバグは、最新のiOS 13上でFacebookアプリを実行しているiPhoneユーザーにのみ影響し、アプリにカメラとマイクへのアクセスを許可している場合にだけ発生するようだ。またこのバグは、同アプリの「ストーリー」画面に関連したものと考えられている。その画面では、ユーザーが写真を撮れるよう、カメラを開くことがある。

シンプルな回避策としては、iOSの「設定」で、Facebookアプリに対するカメラとマイクのアクセスを無効にすること。Facebookのインテグリティの担当副社長であるGuy Rosen(ガイ・ローゼン)氏は「バグのようです」とツイートし、同社としても調査中であることを明かした。TechCrunchがこの記事を公開した後、ようやく同社の広報担当者は、この問題が確かにバグであることを認めた。

「最近、Facebook iOSアプリのバージョン244が、誤ってランドスケープモードで起動してしまうことを発見しました」と広報担当者は説明した。「先週の11月8日にリリースしたv246で、この問題を修正する際に、ユーザーが写真をタップしたとき、ニュースフィードの隣りにあるカメラ画面にアプリが移動してしまうことがあるというバグを、誤って入れ込んでしまいました」。

「このバグが原因で、写真やビデオがアップロードされたという事実は確認できませんでした」と、その広報担当者は付け加えた。このバグに対する修正は、今日、Apple(アップル)に提出され、承認待ちとなっているという。

「Facebookへの信頼が地に落ちているので、ユーザーがそうしたバグを見つけたときも、疑わしきは罰せずという目では見られなくなっているのでしょう。何をか言わんや、ですね」と、ストラファッチ氏は述べた。

Facebookのコメントを受けて更新済み。

( function() {
var func = function() {
var iframe_form = document.getElementById(‘wpcom-iframe-form-8909567ab8c0ab0a85be220cae253838-5dcc28fd0db37’);
var iframe = document.getElementById(‘wpcom-iframe-8909567ab8c0ab0a85be220cae253838-5dcc28fd0db37’);
if ( iframe_form && iframe ) {
iframe_form.submit();
iframe.onload = function() {
iframe.contentWindow.postMessage( {
‘msg_type’: ‘poll_size’,
‘frame_id’: ‘wpcom-iframe-8909567ab8c0ab0a85be220cae253838-5dcc28fd0db37’
}, window.location.protocol + ‘//wpcomwidgets.com’ );
}
}

// Autosize iframe
var funcSizeResponse = function( e ) {
var origin = document.createElement( ‘a’ );
origin.href = e.origin;

// Verify message origin
if ( ‘wpcomwidgets.com’ !== origin.host )
return;

// Verify message is in a format we expect
if ( ‘object’ !== typeof e.data || undefined === e.data.msg_type )
return;

switch ( e.data.msg_type ) {
case ‘poll_size:response’:
var iframe = document.getElementById( e.data._request.frame_id );

if ( iframe && ” === iframe.width )
iframe.width = ‘100%’;
if ( iframe && ” === iframe.height )
iframe.height = parseInt( e.data.height );

return;
default:
return;
}
}

if ( ‘function’ === typeof window.addEventListener ) {
window.addEventListener( ‘message’, funcSizeResponse, false );
} else if ( ‘function’ === typeof window.attachEvent ) {
window.attachEvent( ‘onmessage’, funcSizeResponse );
}
}
if (document.readyState === ‘complete’) { func.apply(); /* compat for infinite scroll */ }
else if ( document.addEventListener ) { document.addEventListener( ‘readystatechange’, function(){
if (document.readyState === ‘complete’) {
func.apply();
}
}, false ); }
else if ( document.attachEvent ) { document.attachEvent( ‘onreadystatechange’, func ); }
} )();

原文へ

(翻訳:Fumihiko Shibata)

Source: AI
Facebookはカメラを勝手に起動するiOSアプリのバグを認める