影響を受けるシステム: PHP PHP 5.2.0
影響を受けないシステム: PHP PHP 5.2.1
説明: BUGTRAQ ID: 23238
PHP は広く使用されている汎用スクリプト言語であり、特に Web 開発に適しています、HTMLに埋め込み可能。 PHP のメモリ マネージャーの実装には脆弱性があり、ローカルの攻撃者がこの脆弱性を利用して権限を昇格する可能性があります。メモリが emalloc() 関数を通じて割り当てられる場合、PHP の新しい Zend メモリ マネージャーは内部の _zend_mm_alloc_int() 関数でリクエストを処理します。まず、次のように ZEND_MM_TRUE_SIZE マクロを使用して、リクエストされたメモリ ブロックの実際のサイズを決定します。
<ccid_code>static void *_zend_mm_alloc_int(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_DC ...) { size_t true_size, best_size = 0x7fffffff; zend_mm_free_block *p, *end, *best_fit = NULL; true_size = ZEND_MM_TRUE_SIZE(size); The macro expands to (((long)size<(long)ZEND_MM_MIN_SIZE)?(ZEND_MM_ALIGNED_MIN_HEADER_SIZE): (ZEND_MM_ALIGNED_SIZE(size+ZEND_MM_ALIGNED_HEADER_SIZE+END_MAGIC_SIZE)))</ccid_code> ログイン後にコピー |