BugTraq
NASA Orion Mars Program - Bypass, Persistent Issue & Embed Code Execution Vulnerability (Boarding Pass) Dec 05 2014 04:06PM
Vulnerability Lab (research vulnerability-lab com)
Document Title:
===============
NASA Orion - Bypass, Persistent Issue & Embed Code Execution Vulnerability

References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=1339

[VU#666988] US CERT

Vulnerability Magazine: http://magazine.vulnerability-db.com/?q=articles/2014/12/05/nasa-mars-or
ion-program-researcher-reveals-vulnerability-boarding-pass

Reference Article: http://www.securityweek.com/exploit-payload-possibly-made-it-nasas-orion
-spacecraft

Release Date:
=============
2014-12-05

Vulnerability Laboratory ID (VL-ID):
====================================
1339

Common Vulnerability Scoring System:
====================================
6

Product & Service Introduction:
===============================
People are being invited to sign up for a free `boarding pass`for trips into space. The plan is to start small with orbital flights
but will later involve flights to Mars. The US National Aeronautics and Space Administration is behind the scheme which is linked to
its new Orion spacecraft. It is expected to bring humans back into space for travel to far-flung destinations including the Red Planet.

And Nasa wants us all along for the ride. Sort of. It is inviting people to send in their names for inclusion in a penny-sized microchip
that will be carried on Orionâ??s first flight planned for December 4th. At time of publishing just over 114,000 people have signed up for
their â??boarding passâ? that will bring their name into space for a two-orbit flight and a splash-down in the Pacific Ocean. The names will
also fly on future Nasa exploration flights including missions to Mars. â??When we set foot on the Red Planet, weâ??ll be exploring for all of
humanity,â? says Mark Geyer, Orion programme manager. â??Flying these names will enable people to be part of our journey.â?

Nasa is using the web to collect names and social media to help promote it (#JourneyToMars). Sending your name isnâ??t quite like flying
yourself, but then there will be no question of space flight sickness and you donâ??t have to worry about getting your feet wet in cold
Pacific waters. Donâ??t delay as the closing date to add your name is October 31st. Submit your name to fly on Orionâ??s test flight by
visiting go.usa.gov/vcpz and learn more about Orion at nasa.gov/orion.

(Copy of the Homepage: http://mars.nasa.gov/participate/send-your-name/orion-first-flight/ & http://www.cnet.com/news/nasa-you-cant-fly-to-mars-but-your-name-can/)

Abstract Advisory Information:
==============================
The Vulnerability Laboratory Research Team discovered an application-side vulnerability and a filter bypass issue in the official Nasa Orion (mars) web-application.

Vulnerability Disclosure Timeline:
==================================
2014-10-09: Researcher Notification & Coordination (Benjamin Kunz Mejri)
2014-10-10: Vendor Notification (US CERT Team)
2014-10-15: Vendor Response/Feedback (US CERT Team - Nasa Security Team)
2014-11-13: Vendor Fix/Patch Notification (Nasa JPL Developer Team)
2014-12-05: Public Disclosure (Vulnerability Laboratory)

Discovery Status:
=================
Published

Affected Product(s):
====================
NASA (US) [GOV]
Product: Orion Mars - Boarding Pass 2014 Q4

Exploitation Technique:
=======================
Remote

Severity Level:
===============
High

Technical Details & Description:
================================
A filter bypass and persistent input validation web vulnerability (embed code exeuction) has been discovered in the official NASA Mars Program web-application.
The high severity vulnerability allows remote attackers to inject own system specific codes to the application-side of the affected NASA online-service website.

The issue is located in the firstname and lastname input fields of the nasa mission orion boarding pass module. Remote attackers are able to inject own script codes
as firstname and lastname to compromise the embed boarding pass module of the nasa website. The request method to inject is POST and the attack vector is on the
application-side of the vulnerable online-service module. After saving the malicious context to a boarding pass service the attacker can use the embed module to
stream malicious codes as embed code execution through the boarding pass application of the nasa mars program website.

In case of the scenario we would like to fly as first and inject a script code that gets stored in the nasa dbms. In a special case of a pentest ago the user limit
in the list runs that long since an error occurs. In case of the vote the nasa boarding pass list runs since the execution occurs and this will be the last entry
that counts. Result is that the user with the injected special crafted code could be able to become the first for a ticket.

The web filter of the service encodes for example frames or script code tags. Img onloads can pass through the filter validation and the second instance filter of
cloudflare to provoke an execution of script code in the embed nasa boarding pass module. The dime-size microship carries 1.3 million names that fly aboard Orion.
Engeneers wrote 1.3 million names onto the tiny 0.8 cm sqare (8 mm square) silicon wafer microchip. To write the context to the chip the E-beam litography tool was used.
After the input the payload gets flashed to a nasa chip that is configured to get send with mission orion to the space.

After the report to the US CERT Team informed the nasa about the issue and they closed the active ticket of the researcher. To ensure the ticket got closed the NASA
included an image that shows the user in the official Nasa `NO FLY List`. The researcher was that intelligent to inject three payloads. Two ids got observed by the
nasa team and one passed through the procedure of verification and validation with id 344***.

In a statement the nasa wrote back that the chip itself is not at risk because there is no interaction or running code with it. In case of the research the code has
been blocked since it got written to the silicon microchip. The context that gets written to the chip will be done manually for about 1.3 million users. In a later
conversation to other security team they acknowledged that it would be impossible to check 1.3 million user accounts. By watching the last id of the researcher included
as reference, the people can see that the name value of an accepted ticket is not secure validated. He used the word Payload1 as firstname and Payload2 as second name to
approve the validation.

The security risk of the embed code execution vulnerability in the boarding pass is estimated as high with a cvss (common vulnerability scoring system) count of 6.0.
Exploitation of the persistent remote web vulnerability requires no privileged application user account and only low user interaction. Successful exploitation of the
security vulnerability results in session hijacking, persistent phishing, persistent external redirect through nasa domains and persistent manipulation of affected or
connected module context.

Request Method(s):
[+] POST

Vulnerable Module(s):
[+] NASA Mars > Boarding Pass > Registration

Vulnerable Parameter(s):
[+] firstname
[+] lastname

Affected Module(s):
[+] NASA Mars - Boarding Pass (Embed Boarding Pass)

Proof of Concept (PoC):
=======================
The persistent input validation web vulnerability can be exploited by remote attackers without privileged application user account and
with low user interaction. For security demonstration or to reproduce the security vulnerability follow the provided information and
steps below to continue.

Manual steps to reproduce the remote vulnerability ...

1. Open the mars.nasa.gov website portal
2. Register a new boarding pass to register for the orion program
3. Iclude as firstname and lastname own script code to inject and to provoke the execution
Note: After saving the input the payload will be streamed to the invite of the boardpass index but also to the embed board pass module
4. The code execution occurs in the boarding pass website that displays the saved embed context information of the nasa customer/client
5. Successful reproduce of the security vulnerability!

PoC: Embed Exploitcode (Mars BoardingCard)
<iframe src="http://mars.nasa.gov/participate/send-your-name/orion-first-flight/
?action=getcert&e=1&cn=334902" width="750" height="307" scrolling="no" frameborder="0"></iframe>

PoC: J2M1000000158467 (send-your-name/orion-first-flight/?s=confirm&cn=334902)

<div class="boarding">
<img src="/images/general/layout/hexAccentImage.png" class="graphic-right">
<div class="certificate-id">J2M1000000158467</div>
<div class="name">
<div style="font-size:1.5em;">"><"<[PERSISTENT INJECTED SCRIPT CODE VIA FIRSTNAME VALUES!]"></div>
<div>"><"<[PERSISTENT INJECTED SCRIPT CODE VIA LASTNAME VALUES!]"></div></div>
<img src="/images/mep/send-name-to-mars/Boarding-Pass.png" class="image-boarding" alt="boarding pass">
<div style="bottom:0;left:0;position:absolute;z-index:100;background-color: rgba(85, 85, 85, 0.5);width:100%;">
<div style="position:relative;z-index:101;float:right;margin-right:0%;margin-
top:2px;margin-bottom:2px;">
<a target="_blank" style="color:#eee;text-decoration:none;font-weight:normal !important;border:none;display:inline-block;padding-right:
8px;padding-right:10px;line-height:16px; font-family: 'Helvetica Neue',Arial,sans-
serif;font-size: 12px;" href="http://mars.nasa.gov/participate/send-your-name/orion-first-flight
/"><div style="font-size:16px;margin-left:6px;float:
right;font-weight:bold;">+</div><div style="float:left;">Image Credit: mars.nasa.gov</div></a>
</div>
<br clear="all">
</div>
</div>

--- PoC Session Logs [POST] ---
Status: 200[OK]
POST http://mars.nasa.gov/participate/send-your-name/orion-first-flight/ Load Flags[LOAD_DOCUMENT_URI LOAD_INITIAL_DOCUMENT_URI ] Grö�e des Inhalts[144] Mime Type[text/html]
Request Header:
Host[mars.nasa.gov]
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0]
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Accept-Language[de,en-US;q=0.7,en;q=0.3]
Accept-Encoding[gzip, deflate]
Referer[http://mars.nasa.gov/participate/send-your-name/orion-first-flig
ht/]
Cookie[s_cc=true; s_vnum=1415451392569%26vn%3D3; s_sq=%5B%5BB%5D%5D; __utma=36124604.1688619800.1412859393.1412866915.1412869134.3;
__utmc=36124604; __utmz=36124604.1412859393.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(n
one); s_vi=[CS]v1|2A1B4302851D2BE0-40000107A00688CE[CE];
fsr.s=%7B%22v2%22%3A1%2C%22v1%22%3A1%2C%22rid%22%3A%22d036702-53567014-5
eea-b60c-7e184%22%2C%22ru%22%3A%22http%3A%2F%2F
mars.nasa.gov%2Fparticipate%2Fsend-your-name%2Forion-first-flight%2F%3Fc
n%3D161115%22%2C%22r%22%3A%22mars.nasa.gov%22%2C%22st%22%3A%22%22%2C%22c
p%22%3A%7B%22
delivery_src%22%3A%22none%22%7D%2C%22to%22%3A3%2C%22mid%22%3A%22d036702-
53567258-d212-8c96-20007%22%2C%22rt%22%3Afalse%2C%22rc%22%3Afalse%2C%22c
%22%3A%22
http%3A%2F%2Fwww.nasa.gov%2F%22%2C%22pv%22%3A1%2C%22lc%22%3A%7B%22d3%22%
3A%7B%22v%22%3A1%2C%22s%22%3Afalse%7D%7D%2C%22cd%22%3A3%2C%22meta%22%3A%
7B%22rtp
%22%3A%22a%22%2C%22rta%22%3A3%2C%22rts%22%3A3%7D%7D; __utma=259910805.435627752.1412859567.1412859567.1412859567.1; __utmc=259910805;
__utmz=259910805.1412859567.1.1.utmcsr=mars.nasa.gov|utmccn=(referral)|u
tmcmd=referral|utmcct=/participate/send-your-name/orion-first-flight/;
gpv_pe5=MEP%20-%20Send%20Your%20Name%20on%20NASA%27s%20Journey%20to%20Ma
rs%2C%20Starting%20with%20Orion%27s%20First%20Flight;
s_invisit=true; __utmb=36124604.0.10.1412869134]
Connection[keep-alive]
POST-Daten:
action[submit]
pid[2]
FirstName[[PERSISTENT INJECTED SCRIPT CODE!]]
LastName[[PERSISTENT INJECTED SCRIPT CODE!]]
CountryCode[DE]
ZipCode[34128]
Email[research%40vulnerability-lab.com]
rp[]
recaptcha_challenge_field[03AHJ_VutiAgzfSZseCHPF92TfRrOZIIX-E6X078M8JwT-
meq1bJthIybgz2TGRb_fl0QJdopcWTcJLSp2vy-DirSlgF370p4a4xnMI1D-
oypqwieb2Q5ckPquDsbrDV4Gp4u3B2jRORQn4KW4VEont0UfwogAMQgKBpqEjer1MrSEimu9
LxVJRD3v-Jz40RRNTcR2FvsQqCL3hGPl27ca9RjTd7KrzM56-
xZRWdnXHfHmFNyLNSNzOrcCEvcv3ZW9oZVBoV0IQzL19g_zMXEOt61sAKOZbVDI0cT0DGUt2
EGDlBJ81uj8dp0]
recaptcha_response_field[619]
Submit[SEND+MY+NAME]
Response Header:
Content-Type[text/html;charset=UTF-8]
Content-Length[144]
Connection[keep-alive]
Access-Control-Allow-Origin[http://marsdev.jpl.nasa.gov]
Cache-Control[max-age=600]
Date[Thu, 09 Oct 2014 15:46:04 GMT]
Location[./?s=confirm&cn=344616]
Server[nginx/1.1.19]
X-Cache[Miss from cloudfront]
Via[1.1 641720e73fe93af037f911457c12ae1e.cloudfront.net (CloudFront)]
X-Amz-Cf-Id[Ol1wi0YiljsLjsNOdJjXmYAjmvQgVMvLCh9WnjvbTFF0a4GKSVHifw==]
-
Status: 200[OK]
GET http://mars.nasa.gov/participate/send-your-name/orion-first-flight/?s=co
nfirm&cn=344616
Load Flags[LOAD_DOCUMENT_URI LOAD_REPLACE LOAD_INITIAL_DOCUMENT_URI ] Grö�e des Inhalts[7642] Mime Type[text/html]
Request Header:
Host[mars.nasa.gov]
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0]
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Accept-Language[de,en-US;q=0.7,en;q=0.3]
Accept-Encoding[gzip, deflate]
Referer[http://mars.nasa.gov/participate/send-your-name/orion-first-flig
ht/]
Cookie[s_cc=true; s_vnum=1415451392569%26vn%3D3; s_sq=%5B%5BB%5D%5D; __utma=36124604.1688619800.1412859393.1412866915.1412869134.3;
__utmc=36124604; __utmz=36124604.1412859393.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(n
one); s_vi=[CS]v1|2A1B4302851D2BE0-40000107A00688CE[CE];
fsr.s=%7B%22v2%22%3A1%2C%22v1%22%3A1%2C%22rid%22%3A%22d036702-53567014-5
eea-b60c-7e184%22%2C%22ru%22%3A%22http%3A%2F%2Fmars.nasa.gov%2Fparticipa
te
%2Fsend-your-name%2Forion-first-flight%2F%3Fcn%3D161115%22%2C%22r%22%3A%
22mars.nasa.gov%22%2C%22st%22%3A%22%22%2C%22cp%22%3A%7B%22delivery_src%2
2%3A
%22none%22%7D%2C%22to%22%3A3%2C%22mid%22%3A%22d036702-53567258-d212-8c96
-20007%22%2C%22rt%22%3Afalse%2C%22rc%22%3Afalse%2C%22c%22%3A%22http%3A%2
F%2F
www.nasa.gov%2F%22%2C%22pv%22%3A1%2C%22lc%22%3A%7B%22d3%22%3A%7B%22v%22%
3A1%2C%22s%22%3Afalse%7D%7D%2C%22cd%22%3A3%2C%22meta%22%3A%7B%22rtp%22%3
A%22
a%22%2C%22rta%22%3A3%2C%22rts%22%3A3%7D%7D; __utma=259910805.435627752.1412859567.1412859567.1412859567.1; __utmc=259910805;
__utmz=259910805.1412859567.1.1.utmcsr=mars.nasa.gov|utmccn=(referral)|u
tmcmd=referral|utmcct=/participate/send-your-name/orion-first-flight/;
gpv_pe5=MEP%20-%20Send%20Your%20Name%20on%20NASA%27s%20Journey%20to%20Ma
rs%2C%20Starting%20with%20Orion%27s%20First%20Flight; s_invisit=true; __utmb=36124604.0.10.1412869134]
Connection[keep-alive]
Response Header:
Content-Type[text/html;charset=UTF-8]
Content-Length[7642]
Connection[keep-alive]
Access-Control-Allow-Origin[http://marsdev.jpl.nasa.gov]
Cache-Control[max-age=600]
Content-Encoding[gzip]
Date[Thu, 09 Oct 2014 15:46:05 GMT]
Server[nginx/1.1.19]
Vary[Accept-Encoding]
X-Cache[Miss from cloudfront]
Via[1.1 641720e73fe93af037f911457c12ae1e.cloudfront.net (CloudFront)]
X-Amz-Cf-Id[fcCNBQ3RNkRMQ_9nK-1v_ConkoOko6ttxX2F0IDcwKGyovh3SJSAZg==]

Reference(s):
http://mars.nasa.gov/
http://mars.nasa.gov/participate/
http://mars.nasa.gov/participate/send-your-name/
http://mars.nasa.gov/participate/send-your-name/orion-first-flight/
http://mars.nasa.gov/participate/send-your-name/orion-first-flight/?s=co
nfirm&cn=334902
http://mars.nasa.gov/participate/send-your-name/orion-first-flight/?s=co
nfirm&cn=344616

Solution - Fix & Patch:
=======================
The vulnerability can be patched by a secure parse and encode of the vulnerable firstname and lastname input fields.
Restrict and filter the input to prevent execution of persistent script codes in the board pass service.
Encode the boarding pass output values in the embed code module to block application-side script code executions.
Upgrade the filter and capture image onloads and image cookie requests.

Security Risk:
==============
The security risk of the filter bypass and persistent script code inject web vulnerability in the nasa boarding pass application is estimated as high. (CVSS 6.0)

Credits & Authors:
==================
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (bkm (at) evolution-sec (dot) com [email concealed]) [www.vulnerability-lab.com]

Disclaimer & Information:
=========================
The information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all warranties, either
expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-Lab or its suppliers
are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business profits or special damages, even
if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation
of liability for consequential or incidental damages so the foregoing limitation may not apply. We do not approve or encourage anybody to break
any vendor licenses, policies, deface websites, hack into databases or trade with fraud/stolen material.

Domains: www.vulnerability-lab.com - www.vuln-lab.com - www.evolution-sec.com
Contact: admin (at) vulnerability-lab (dot) com [email concealed] - research (at) vulnerability-lab (dot) com [email concealed] - admin (at) evolution-sec (dot) com [email concealed]
Section: dev.vulnerability-db.com - forum.vulnerability-db.com - magazine.vulnerability-db.com
Social: twitter.com/#!/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab
Feeds: vulnerability-lab.com/rss/rss.php - vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php
Programs: vulnerability-lab.com/submit.php - vulnerability-lab.com/list-of-bug-bounty-programs.php - vulnerability-lab.com/register/

Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory. Permission to
electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other media, are reserved by
Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, source code, videos and other information on this website
is trademark of vulnerability-lab team & the specific authors or managers. To record, list (feed), modify, use or edit our material contact
(admin (at) vulnerability-lab (dot) com [email concealed] or research (at) vulnerability-lab (dot) com [email concealed]) to get a permission.

Copyright © 2014 | Vulnerability Laboratory [Evolution Security]

--
VULNERABILITY LABORATORY - RESEARCH TEAM
SERVICE: www.vulnerability-lab.com
CONTACT: research (at) vulnerability-lab (dot) com [email concealed]
PGP KEY: http://www.vulnerability-lab.com/keys/admin (at) vulnerability-lab (dot) com [email concealed]%280x19
8E9928%29.txt

[ reply ]


 

Privacy Statement
Copyright 2010, SecurityFocus