发布时间 :2004-12-23 00:00:00
修订时间 :2017-07-10 21:30:32

[原文]Mozilla Firefox 0.9.2 allows web sites to set cookies for country-specific top-level domains, such as,, and, which could allow remote attackers to perform a session fixation attack and hijack a user's HTTP session. NOTE: it was later reported that 2.x is also affected.


        KDE Konqueror浏览器不正确处理COOKIE信息,远程攻击者可以利用这个漏洞注入恶意数据到COOKIE中。
        在受影响域下操作的WEB站点可以设置HTTP COOKIE,使Konqueror Web浏览器可以发送COOKIE信息到操作在相同域中其他WEB站点上。恶意WEB站点可以利用这个漏洞进行类似会话定置的攻击( )。
        此漏洞影响所有域第二级字符超过2个字符的域名,如, .plc.uk和。
        必须注意的是流行的域名如, .co.in和.com不受此漏洞影响。

- CVSS (基础分值)

CVSS分值: 7.5 [严重(HIGH)]
机密性影响: PARTIAL [很可能造成信息泄露]
完整性影响: PARTIAL [可能会导致系统文件被修改]
可用性影响: PARTIAL [可能会导致性能下降或中断资源访问]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: NETWORK [攻击者不需要获取内网访问权或本地访问权]
身份认证: NONE [漏洞利用无需身份认证]

- CWE (弱点类目)

CWE-264 [权限、特权与访问控制]

- CPE (受影响的平台与产品)

cpe:/a:mozilla:firefox:0.9.2Mozilla Firefox 0.9.2
cpe:/o:suse:suse_linux:8.1SuSE SuSE Linux 8.1
cpe:/o:suse:suse_linux:9.0SuSE SuSE Linux 9.0
cpe:/o:suse:suse_linux:8.2SuSE SuSE Linux 8.2
cpe:/a:microsoft:ie:6.0Microsoft Internet Explorer 6.0

- OVAL (用于检测的技术细节)


- 官方数据库链接
(官方数据源) MITRE
(官方数据源) NVD
(官方数据源) CNNVD

- 其它链接及资源
(UNKNOWN)  BUGTRAQ  20040916 wp-04-0001: Multiple Browser Cookie Injection Vulnerabilities
(UNKNOWN)  XF  web-browser-session-hijack(17415)

- 漏洞信息

高危 设计错误
2004-12-23 00:00:00 2005-10-20 00:00:00
        KDE Konqueror浏览器不正确处理COOKIE信息,远程攻击者可以利用这个漏洞注入恶意数据到COOKIE中。
        在受影响域下操作的WEB站点可以设置HTTP COOKIE,使Konqueror Web浏览器可以发送COOKIE信息到操作在相同域中其他WEB站点上。恶意WEB站点可以利用这个漏洞进行类似会话定置的攻击( )。
        此漏洞影响所有域第二级字符超过2个字符的域名,如, .plc.uk和。
        必须注意的是流行的域名如, .co.in和.com不受此漏洞影响。

- 公告与补丁

         Patches for KDE 3.0.5b: :
         3d83e3235d608176f47d84abdf78e96e post-3.0.5b-kdelibs-kcookiejar.patch
         Patches for KDE 3.1.5: :
         eec46dc123742c23819bd4c396eb87b6 post-3.1.5-kdelibs-kcookiejar.patch
         Patches for KDE 3.2.3: :
         ca12b078c7288ce9b2653e639a5b3ee0 post-3.2.3-kdelibs-kcookiejar.patch

- 漏洞信息 (F34392)

wp-04-0001.txt (PacketStormID:F34392)
2004-09-21 00:00:00
Paul Johnston

Westpoint Security Advisory wp-04-0001 - Multiple browsers are susceptible to multiple cookie injection vulnerabilities. Tested: Internet Explorer 6.0 for Windows 2000 with all patches, Konqueror 3.1.4 for SuSE 9.0, Mozilla Firefox 0.9.2 for Windows 2000, Opera 7.51 for Windows 2000.

Westpoint Security Advisory

Title:        Multiple Browser Cookie Injection Vulnerabilities
Risk Rating:  Low
Software:     Multiple Web Browsers
Platforms:    Unix and Windows
Author:       Paul Johnston <>
               assisted by Richard Moore <>
Date:         15 September 2004
Advisory ID#: wp-04-0001
CVE:          Multiple assigned, see main text


A design goal for cookies is to "prevent the sharing of session
information between hosts that are in different domains." It appears
current implementations are successful at allowing a domain to keep its
cookies private. However, multiple mechanisms have been discovered for
one domain to inject cookies into another. These could be used to
perform session fixation attacks against web applications.

  * Affected browsers be patched for these vulnerabilities.
  * Web applications implement application layer mitigations for session
    fixation attacks, as described in [2].

  Internet Explorer 6.0 for Windows 2000, all patches
  Konqueror 3.1.4 for SuSE 9.0
  Mozilla Firefox 0.9.2 for Windows 2000
  Opera 7.51 for Windows 2000

Cross-Domain Cookie Injection
  Konqueror             CAN-2004-0746
  Internet Explorer     CAN-2004-0866
  Mozilla               CAN-2004-0867
Not vulnerable:

By default, cookies are only sent to the host that issued them. There is
an optional "domain" attribute that overrides this behaviour. For
example, could set a cookie with
This would then be sent to any host in the domain.

There is potential for abuse here, consider the case where sets a cookie with In principle this would
be sent to any host in the .com domain. However [1] requires browsers to
reject cookies where:

  "The value for the Domain attribute contains no embedded dots"

This prevents a cookie being set with However, this does
not extend to country domains that are split into two parts. For
example, could set a cookie with and
this will be sent to all hosts in the domain. Mozilla follows the
RFC exactly and is vulnerable to this. Konqueror and Internet Explorer
have some further protection, preventing domains of the following forms:

  * Where the 2nd level domain is two or fewer characters, i.e. xx.yy or
  * Domains of the form (com|net|mil|org|gov|edu|int).yy

This does prevent cross domain cookie injection but does not
protect all domains. For example, the following .uk domains are

When testing with Opera, it appeared that browser always correctly
detected the domain. It is not immediately clear how Opera does this

Example exploitation:
  1) is identified for attack. It uses the "sid"
     cookie to hold the session ID.
  2) Attacker obtains domain
  3) User is enticed to click link to
  4) This site sets the "sid" cookie with
  5) When user logs into, they are using a sesion ID known
     to the attacker.
  6) Attacker now has a logged-in session ID and has compromised the
     user's account.

Exploitation is dependent on the user clicking an untrusted link.
However, it is fundamental to the use of the web that we do sometimes
click untrusted links. This attack can happen regardless of the use of SSL.

Cross Security Boundary Cookie Injection
  Internet Explorer     CAN-2004-0869
  Konqueror             CAN-2004-0870
  Mozilla               CAN-2004-0871
  Opera                 CAN-2004-0872

By default cookies are sent to all ports on the host that issued them,
regardless of whether SSL is in use. There is an optional "secure"
attribute that restricts sending to secure channels. This prevents
secure cookies leaking out over insecure channels. However, there is no
protection to prevent cookies set over a non-secure channel being
presented on a secure channel. In general to maintain proper boundaries
between security levels, it is necessary to defend against both attacks
  - protecting both confidentiality and integrity.

Example exploitation:
  1) identified for attack, which uses "sid" cookie
     as session ID.
  2) User is enticed to click link to
  3) By some mechanism the attacker intercepts this request and sets the
     "sid" cookie
  4) When user logs into they are using a sesion ID
     known to the attacker.
  5) Attacker now has a logged-in session ID and has compromised the
     user's account.

In addition to the user clicking an untrusted link, exploitation is
dependent on the attacker tampering with non-SSL network traffic. This
is a reasonable assumption as the purpose of SSL is to provide security
over an insecure network.


[1] RFC2965 - HTTP State Management Mechanism

[2] Session Fixation Vulnerability in Web-based Applications

[3] Persistent Client State - HTTP Cookies

[4] Cookies and Cookie Handling in Opera 7 Explained


16 July 2004      Vulnerabilities discovered

20 July 2004      Vendors informed

20 July 2004      Mozilla bug opened

  The discussion shows that the cross domain problem is a long standing
  known bug. However, one contibutor claimed the exploit is being used in
  the wild. Several fixes were suggested and it appears this bug will be
  addressed soon.

  No discussion of the SSL vs non-SSL problem.

21 July 2004      Opera respond

  The response explains that they take the cross domain problem
  seriously, and that they have solved it by doing a DNS lookup on the
  specified domain. Some information is available in [4].

  They also explained that they could not solve the cross security
  boundary problem without breaking standards and existing web apps.

  This problem has previously been reported as the "Cookie Monster bug"

23 July 2004      Konqueror respond

  Explain that they intend to fix the cross domain problem by including a
  list of ccTLDs that, like .uk, require 3 dots. The domain are:


  The brief discussion of the cross security boundary suggests they do
  not consider it possible to solve at this time.

23 Aug 2004       KDE Security Advisory released

  KDE issue an advisory stating the cross-domain problem is fixed in KDE
  3.3. Patches are also available for older 3.x versions.

13 Sept 2004      Vendors notified of impending release

14 Sept 2004      CVE candidates assigned for other issues

15 Sept 2004      Microsoft respond

  Best practice for web sites to resist session fixation attacks is to
  change the session ID after authentication. They are looking at ways to
  address this in the browser. As this may cause compatibility issues and
  the issue is low risk, they have not commited to a timeline.

15 Sept 2004      Advisory published


Many thanks to the vendors for their responses. Also, thanks to Steven
Christey for assigning CVE numbers.

Paul Johnston
Internet Security Specialist
Westpoint Limited
Albion Wharf, 19 Albion Street,
Manchester, M1 5LN
Tel: +44 (0)161 237 1028
Fax: +44 (0)161 237 1031