月別アーカイブ: 2018年5月

Ruby 2.6.0-preview2 Released

Ruby 2.6.0に向けた二回目のプレビューである、Ruby 2.6.0-preview2がリリースされました。

Ruby 2.6.0-preview2は、重要な新機能であるJITを含むため、例年よりも早期にリリースすることにしました。 その一部を以下に紹介します。

JIT

Ruby 2.6ではJIT (Just-in-time) コンパイラが導入されました。

JITコンパイラはあらゆるRubyプログラムの実行を高速化することを目的としています。 他言語の一般的なJITコンパイラと異なり、RubyのJITコンパイラはC言語のソースコードをファイルとしてディスクに書き、通常のCコンパイラを用いてネイティブコードに変換することでJITコンパイルを行うという手法を用いています。(参考: MJIT organization by Vladimir Makarov)

JITコンパイルを有効にするには --jit オプションをコマンドラインまたは$RUBYOPT環境変数を指定します。--jit-verbose=1を指定すれば指定すれば実行中のJITコンパイルの基本的な情報を表示します。その他のオプションについては ruby --help を参照ください。

今回のリリースはこのJITコンパイル機能を皆さんの環境で動作を確認して頂くとともに、セキュリティ上の問題が無いかを早期に確認するために行っています。 現在のJITコンパイラはいくつか制限があり、まずgccまたはclangによってビルドされたRubyでかつ、そのコンパイラが実行時に利用可能である必要があります。また、現在はJITコンパイルの基盤を準備している段階で、少数の最適化のみ実装しています。そのため現在でもいくつかのマイクロベンチマークでは潜在的な速度改善が見られるものの、より大きなプログラム、特にRailsアプリケーションなどではJITコンパイラの性能を計測出来る段階ではありません。

今後はインライン化等を実装することでRubyの性能を桁違いに向上させます。また、Visual Studioを筆頭に、サポートする環境も増やしていきます。

引き続き新時代のRubyの実効性能にご期待ください。

RubyVM::AST [Experimental]

Ruby 2.6では RubyVM::AST モジュールが導入されました。

このモジュールには、文字列をパースしてAST(抽象構文木)のNodeを返すparseメソッド、ファイルをパースするparse_fileメソッドが実装されています。 RubyVM::AST::Node も導入されました。このクラスのインスタンスから位置情報や子ノードを取得することができます。この機能はexperimentalであり、互換性は保証されていません。

新機能

  • Kernel#yield_self の別名として then が追加されました [Feature #14594]

  • rescue 無しの else が文法エラーとなるようになりました [EXPERIMENTAL]

  • ASCII以外の大文字でも定数を定義出来るようになりました [Feature #13770]

  • 終端なしRange [Feature #12912]

    終端なしRange (1..) が導入されました。これは終端を持ちません。これが典型的な用途です:

    ary[1..]                          # マジックナンバー -1 なしで ary[1..-1] と同じ意味
    (1..).each {|index| ... }         # index が 1 から始まる無限ループ
    ary.zip(1..) {|elem, index| ... } # ary.each.with_index(1) { ... }
    
  • Binding#source_location の追加 [Feature #14230]
    • bindingのソースコード上の位置を __FILE____LINE__ の二要素配列として返します。従来でも eval("[__FILE__, __LINE__]", binding) とすることでこれらの情報は得られましたが、将来的に Kernel#eval はbindingのソースコード行を無視する変更を予定しているため [Bug #4352]、この新しいメソッドを用いることが今後は推奨されます。
  • Kernel#system の失敗時に、falseを返す代わりに例外を上げさせる :exception オプションを追加 [Feature #14386]

パフォーマンスの改善

  • 後述の$SAFEの変更に伴って考慮すべきことが減ったため、Proc#callが高速化されました [Feature #14318] Proc#call を大量に呼び出す lc_fizzbuzz ベンチマークにおいては、1.4倍高速化されています [Bug #10212]
  • block がブロックパラメータである時、block.callが高速化されました [Feature #14330] Ruby 2.5ではブロック渡しの性能が改善されましたが [Feature #14045]、加えてRuby 2.6では渡されたブロックの呼び出しも改善されました。 マイクロベンチマークにおいては2.6倍高速化されています。

その他の注目すべき 2.5 からの変更点

  • $SAFE はプロセスグローバルで扱われることになると共に、0以外を設定した後に0に戻せるようになりました [Feature #14250]
  • ERB.newsafe_levelを渡すのは非推奨になりました。また、trim_modeeoutvarはキーワード引数に変更されました。 [Feature #14256]
  • RubyGems 3.0.0.beta1 をマージしました

その他詳細については、NEWS ファイルまたはコミットログを参照してください。

なお、こうした変更により、Ruby 2.5.0 以降では 4699 個のファイルに変更が加えられ、45744 行の追加と 30885 行の削除が行われました !

みなさんもRuby 2.6.0-preview2で楽しいプログラミングを!

Download

  • https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.0-preview2.tar.gz

    SIZE:   16170732 bytes
    SHA1:   6867b00e81af0b70fcb6f1aa7fc22d89d48a7d12
    SHA256: ee15ab35f17c942b1f41bd792f2494f639affff6e03babf44708b72fdbb6de34
    SHA512: 95c5a277785dfeb3006503e1b9ccccefdf6ce29669d4576f0191ee6986ba0e3567fbbed18a8d2b1f147d637434e4a3a4fdf47d84995e10ad4a354950e9092690
    
  • https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.0-preview2.zip

    SIZE:   19850776 bytes
    SHA1:   eba80a09b552ce3142fd571ff5867a13736d170e
    SHA256: 97fc187b90570fce110d22803a319ab04e68700692b2b6b4e9961886f1a931e5
    SHA512: d5501819635bda64ac3dc717815652b692302b44a7cdf4c08edfa5cb9ec7f79a70fffc534879b316a4a9584825ed3c0948667beae2d7c313de58583931b981f4
    
  • https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.0-preview2.tar.bz2

    SIZE:   14209461 bytes
    SHA1:   a9b1b4f359601b94b3f5b77115fcbf3790ff69cd
    SHA256: d8ede03d5ad3abd9d2c81cf0ad17a41d22b747c003cc16fd59befb2aaf48f0b2
    SHA512: 3872227e9b1c97c206d19bf1e6ce15a38ee15a26c431b4436605dea67affcf16372358984df76b35e7abaa902c15c16f533ac7af47e3031dea9451bbe459b693
    
  • https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.0-preview2.tar.xz

    SIZE:   11525372 bytes
    SHA1:   e795abe1a4f828b3d851f7148b4bf6c9d9a7e7fd
    SHA256: 00ddfb5e33dee24469dd0b203597f7ecee66522ebb496f620f5815372ea2d3ec
    SHA512: bef3e90e97d6e58889cd500c591c579b728ca5833022b690182c0bf4d661e437b3a2ca33470dac35fcf693897819b9d7f500c0f71b707e2fcdcb0644028f2c03
    

Posted by naruse on 31 May 2018

Weekly Report: strongSwan VPN charon サーバにバッファアンダーフローの脆弱性

strongSwan VPN charon サーバ には、バッファアンダーフローの脆弱性があります。結果として、当該製品が待ち受けしているソケットにアクセスできるローカルユーザが、サービス運用妨害 (DoS) 攻撃を行う可能性があります。続きを読む

Weekly Report: strongSwan VPN charon サーバにバッファアンダーフローの脆弱性

strongSwan VPN charon サーバ には、バッファアンダーフローの脆弱性があります。結果として、当該製品が待ち受けしているソケットにアクセスできるローカルユーザが、サービス運用妨害 (DoS) 攻撃を行う可能性があります。続きを読む

JVN: 「フレッツ・ウイルスクリア 申込・設定ツール」および「フレッツ・ウイルスクリアv6 申込・設定ツール」のインストーラにおける実行ファイル呼び出しに関する脆弱性

東日本電信電話株式会社(NTT東日本)が提供する「フレッツ・ウイルスクリア 申込・設定ツール」および「フレッツ・ウイルスクリアv6 申込・設定ツール」のインストーラには、意図しない実行ファイルの呼び出しに関する脆弱性が存在します。続きを読む

JVN: 「フレッツ・ウイルスクリア 申込・設定ツール」および「フレッツ・ウイルスクリアv6 申込・設定ツール」のインストーラにおける実行ファイル呼び出しに関する脆弱性

東日本電信電話株式会社(NTT東日本)が提供する「フレッツ・ウイルスクリア 申込・設定ツール」および「フレッツ・ウイルスクリアv6 申込・設定ツール」のインストーラには、意図しない実行ファイルの呼び出しに関する脆弱性が存在します。続きを読む

PHP 7.2.6 Released

The PHP development team announces the immediate availability of PHP 7.2.6. This is a primarily a bugfix release which includes a memory corruption fix for EXIF.

PHP 7.2 users are encouraged to upgrade to this version.

For source downloads of PHP 7.2.6 please visit our downloads page, Windows source and binaries can be found on windows.php.net/download/. The list of changes is recorded in the ChangeLog.

2018 年 5 月のセキュリティ更新プログラム (月例)

20185 9 (日本時間)、マイクロソフトは以下のソフトウェアのセキュリティ更新プログラムを公開しました。

  • Internet Explorer
  • Microsoft Edge
  • Microsoft Windows
  • Microsoft Office、Microsoft Office Servers および Web Apps
  • ChakraCore
  • Adobe Flash Player
  • .NET Framework
  • Microsoft Exchange Server
  • Windows Host Compute Service Shim

: Windows Host Compute Service Shim (hcsshim) の脆弱性 CVE-2018-8115 の更新プログラムは、5 2 (米国時間) に定例外で、GitHub 上に公開されました。

新規セキュリティ更新プログラムを公開すると共に、新規のセキュリティ アドバイザリ 2 件の公開、既存のセキュリティ アドバイザリ 2 件の更新、既存の脆弱性情報 5 件の更新を行いました。なお、今月の「悪意のあるソフトウェアの削除ツール」では、新たに PowerShell/XuritoWin32/AdposhelWin32/CoinMiner に対する定義ファイルが追加されています。

 

なお、今月の Windows 用のセキュリティ更新プログラムで以下を含む問題が解決されています。

  • Windows 10 1709 向けのセキュリティ更新プログラム 4093112 を適用後に一部のアプリでペンの使用時に予期しないパンまたはスクロールが発生する問題が確認されていました。この問題に対する修正は、今月のセキュリティ更新プログラム 4103727 にも含まれています。

 

お客様はできるだけ早期に、今月公開のセキュリティ更新プログラムを適用するようお願いします。

■ セキュリティ更新プログラム・セキュリティ アドバイザリに関する主な注意点

  • 下記の “既存の脆弱性情報の更新” に記載のとおり、CredSSP の脆弱性 CVE-2018-0886 に関し既定のセキュリティ レベルを上げる変更を加えるセキュリティ更新プログラムをリリースしました。これにより、今月のセキュリティ更新プログラムを適用後には、リモート デスクトップ接続など CredSSP を利用した接続に影響が出る可能性があります。詳細および対応方法は、弊社サポート チームのブログをご参照ください。
  • アドバイザリ ADV180002 を更新し、Spectre variant 2 (CVE-2017-5715) の緩和策に関する FAQ の追加および更新プログラムの公開をお知らせしました。詳細はアドバイザリをご参照ください。
  • アドバイザリ ADV170017 を更新し、Office 201020132016 向けにセキュリティ更新プログラムをリリースするとともに FAQ を更新しました。詳細はアドバイザリをご参照ください。
  • Azure Cloud Services Web Roles 向けに アドバイザリ 4092731 を公開しました。サポートされたバージョン (最新 2 バージョンのみ) SDK にアップグレードすることをお勧めします。Azure Worker Roles Virtual Machines など、他の Azure サービスは影響を受けません。
  • 2018 年 4 月のセキュリティ リリースで対応済みの脆弱性 CVE-2018-8142 に関し、脆弱性情報ページを公開しました。これは情報のみの公開です。

 


■ 既存の脆弱性情報の更新 (5 )

下記の脆弱性情報のセキュリティ更新プログラムの一部が再リリースされています。再リリースされたセキュリティ更新プログラムは既に適用済みのコンピューターにも再インストールする必要があります。詳細は下記脆弱性情報を参照してください。

  • CVE-2018-0886
    2018 年 3 月に対応した CredSSP の脆弱性 CVE-2018-0886 に関し、既定のセキュリティ レベルを上げる変更を加えるセキュリティ更新プログラムを公開しました。詳細はサポート技術情報 4093492 およびサポート チームのブログをご確認ください。
  • CVE-2018-0963
    Windows 10 1709 向けにセキュリティ更新プログラム 4103727
    をリリースしました。このセキュリティ更新プログラムは、セキュリティ更新プログラム 4093112 を置き換えます。この脆弱性から完全に保護するために、4103727 の更新プログラムをインストールすることをお勧めします。
  • CVE-2017-11927
    Windows 向けに新規のセキュリティ更新プログラムをリリースしました。この脆弱性から完全に保護するために、最新のセキュリティ更新プログラムをインストールすることをお勧めします。
  • CVE-2018-8117
    Wireless Keyboard 850 向けに新規のセキュリティ更新プログラムをリリースしました。該当のキーボードを利用している場合に、重要なファームウェア アップデートがあることを通知します。
  • CVE-2018-0993
    Windows 10 1507 向けに新規のセキュリティ更新プログラム 4103716 をリリースしました。この脆弱性から完全に保護するために、4103716 の更新プログラムをインストールすることをお勧めします。

 

■ 2018 年 5 月のセキュリティ更新プログラム

セキュリティの脆弱性および更新プログラムの情報を、CVEKB 番号、製品、またはリリース日別に並べ替えたりフィルターをかけたりすることができます。

セキュリティ更新プログラム ガイド

各月のセキュリティ更新プログラムを絞り込むには、日付範囲に絞り込む月の第 2 火曜日を指定して検索してください。

なお、セキュリティ更新プログラム ガイド API を活用して、自社に特化したカスタム レポートを作成することができます。API の活用方法を紹介する 6 つのビデオ (API の情報 (GitHub)API へのアクセスHTML ファイルの出力Excel へのエクスポートCVE リストの取得KB リストの取得) を公開していますので、是非ご活用ください。

 
マイクロソフトは新たに確認した脆弱性について、下記の新しいセキュリティ更新プログラムを公開しました。

製品ファミリ 最大深刻度 最も大きな影響 関連するサポート技術情報またはサポートの Web ページ
Windows 10 および Windows Server 2016 (Microsoft Edge を含む) 緊急 リモートでコードが実行される Windows 10 v1803: 4103721、Windows 10 v1709: 4103727、Windows 10 v1703: 4103731、Windows 10 v1607: 4103723、Windows 10: 4103716、Windows Server 2016: 4103723
Windows 8.1 および Windows Server 2012 R2 緊急 リモートでコードが実行される Windows 8.1 および Windows Server 2012 R2 マンスリー ロールアップ: 4103725

Windows 8.1 および Windows Server 2012 R2 セキュリティのみ: 4103715

Windows Server 2012 緊急 リモートでコードが実行される Windows Server 2012 マンスリー ロールアップ: 4103730

Windows Server 2012 セキュリティのみ: 4103726

Windows RT 8.1 緊急 リモートでコードが実行される Windows RT 8.1: 4103725

注: Windows RT 8.1 の更新プログラムは Windows Update からのみ入手できます。

Windows 7 および Windows Server 2008 R2 緊急 リモートでコードが実行される Windows 7 および Windows Server 2008 R2 マンスリー ロールアップ: 4103718

Windows 7 および Windows Server 2008 R2 セキュリティのみ: 4103712

Windows Server 2008 緊急 リモートでコードが実行される Windows Server 2008 の更新プログラムは累計的な更新プログラムやロールアップとして提供されません。次の記事は Windows Server 2008 のバージョンを参照しています。40940794101477413094441311884134651
Internet Explorer 緊急 リモートでコードが実行される Internet Explorer 9 IE 累積的: 4103768、Internet Explorer 10 マンスリー ロールアップ: 4103730; Internet Explorer 10 IE 累積的: 4103768; Internet Explorer 11 マンスリー ロールアップ: 4103718 および 4103725、Internet Explorer 11 IE 累積的: 4103768、Internet Explorer 11 セキュリティ更新プログラム: 41037164103721410372341037274103731
Microsoft Office 関連のソフトウェア 重要 リモートでコードが実行される マンスリー セキュリティ更新プログラムのリリースの Microsoft Office に関連するサポート技術情報の記事の数は、CVE の数、および影響を受けるコンポーネントの数によって変わります。今月リリースされる Office の更新プログラムに関連するサポート技術情報は 20 件を超えます。概要をお知らせする目的から、ここでは一部のみを掲載します。資料の詳細については、「セキュリティ更新プログラム ガイド」を参照してください。
Microsoft SharePoint 関連のソフトウェア 重要 リモートでコードが実行される Microsoft SharePoint 関連のソフトウェア: 311488940183814018390401839840221304022145
Microsoft Exchange Server 重要 リモートでコードが実行される Microsoft Exchange Server 関連のソフトウェア: 4092041 および 4091243
Microsoft .NET ソフトウェア 重要 セキュリティ機能のバイパス .NET Framework のセキュリティ更新プログラムのリリースに関連するサポート情報の記事数は、CVE の数と影響を受けるコンポーネントの数によって変わります。今月リリースされる .NET Framework の更新プログラムに関連するサポート情報の記事は 20 件を超えます。概要をお知らせする目的から、ここでは一部のみを掲載します。.NET Core は、Microsoft と GitHub の .NET コミュニティが保守している汎用開発プラットフォームです。
SDK for Azure IoT 重要 情報漏えい Microsoft Azure IoT デバイスの SDK には、Azure IoT Hub サービスに接続し、管理されるデバイスとアプリケーションの構築が簡単になるコードが含まれています。GitHub は、すべての Azure IoT SDK のリポジトリを保守しています。詳細については、「How to get support for Azure IoT SDK」(英語情報) を参照してください。
ChakraCore 緊急 リモートでコードが実行される ChakraCore は Chakra のコア部分であり、HTML/CSS/JS で記述された Microsoft Edge Windows アプリケーションを強化する高パフォーマンスの JavaScript エンジンです。詳細については、https://github.com/Microsoft/ChakraCore/wiki を参照してください。
Adobe Flash Player 緊急 リモートでコードが実行される Adobe Flash Player のサポート技術情報: 4103729

Adobe Flash Player のアドバイザリ: ADV180008

Windows Host Compute Service Shim 緊急 リモートでコードが実行される hcsshim のリリースノート: hcsshim v0.6.10

JVN: 統合型 GPU に対する WebGL を利用したサイドチャネル攻撃 および Rowhammer 攻撃

スマートフォンなどの GPU が統合されたプラットフォームを利用する機器は、WebGL を利用した DRAM へのサイドチャネル攻撃 および Rowhammer 攻撃を実行される可能性があります。この攻撃は "GLitch" と呼ばれています。続きを読む

phpDay 2018

The Italian PHP user group GrUSP is pleased to announce the 15th edition of phpday, taking place on May 11-12th, 2018 in Verona, Italy.

It is the first historic Italian conference dedicated solely to PHP development, technologies and management. It is aimed to IT managers, developers and innovators. Each year it renews the opportunity to link to new business partners.

Check out our great schedule and get your ticket now!