Bug 1091442

Summary: CVE-2012-4230 sagemath: tinymce: XSS attacks via security policy bypass [fedora-all]
Product: [Fedora] Fedora Reporter: Vincent Danen <vdanen>
Component: sagemathAssignee: Paulo Andrade <paulo.cesar.pereira.de.andrade>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 20CC: paulo.cesar.pereira.de.andrade, pj.pandit
Target Milestone: ---Keywords: Security, SecurityTracking
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: fst_ping=1
Fixed In Version: sagemath-6.1.1-6.fc20 Doc Type: Release Note
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-12-19 18:26:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1091438    
Attachments:
Description Flags
jqueryui-1.8.11-adapted.patch none

Description Vincent Danen 2014-04-25 15:14:12 UTC
This is an automatically created tracking bug!  It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of Fedora.

For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.

For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs

When creating a Bodhi update request, use the bodhi submission link noted
in the next comment(s).  This will include the bug IDs of this tracking
bug as well as the relevant top-level CVE bugs.

Please also mention the CVE IDs being fixed in the RPM changelog and the
Bodhi notes field when available.

NOTE: this issue affects multiple supported versions of Fedora. While only
one tracking bug has been filed, please correct all affected versions at
the same time.  If you need to fix the versions independent of each other,
you may clone this bug as appropriate.

[bug automatically created by: add-tracking-bugs]

Comment 1 Vincent Danen 2014-04-25 15:14:19 UTC
Use the following update submission link to create the Bodhi request for
this issue as it contains the top-level parent bug(s) as well as this
tracking bug.  This will ensure that all associated bugs get updated when
new packages are pushed to stable.

IMPORTANT: ensure that the "Close bugs when update is stable" option
remains checked.

Bodhi update submission link:
https://admin.fedoraproject.org/updates/new/?type_=security&bugs=1091438,1091442

Comment 2 pjp 2014-12-03 18:27:06 UTC
Hello paulo.cesar.pereira.de.andrade,

Could you please fix this soon?

Comment 3 Paulo Andrade 2014-12-04 16:22:18 UTC
Created attachment 964751 [details]
jqueryui-1.8.11-adapted.patch

Can you check this is the correct adaptation for jqueryui 1.8.11?

You can actually run it by installing sagemath in fedora 20 and patching:

/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/ui/jquery.ui.dialog.js

To exercise the interface it should be required to run:

$ sage

and in the sagemath prompt:

sage: notebook()

I could not find any visible issues, but I am afraid I do not
know very well where jqueryui plays there. Just know that
newer sagemath (6.4+) no longer use it.

Comment 4 pjp 2014-12-05 12:28:18 UTC
  Hello Paulo,

Thanks so much for the details. Could you please write to fedora-devel list for the patch review?

Thank you.

Comment 5 Paulo Andrade 2014-12-06 17:29:47 UTC
Hi, I think I managed to learn how to and make enough tests to make sure
my patch works, or at least does not break stuff.

There are some bundled demos in the sagemath-notebook jqueryui package.
I tested all demos/tests and they work. Mostly useful was to test
the ("popup") dialogs ones.

$ rpm -ql sagemath-notebook |grep jquery|grep index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jquery/plugins/colorpicker/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/accordion/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/addClass/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/animate/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/autocomplete/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/button/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/datepicker/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/dialog/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/draggable/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/droppable/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/effect/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/hide/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/position/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/progressbar/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/removeClass/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/resizable/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/selectable/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/show/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/slider/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/sortable/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/switchClass/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/tabs/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/toggle/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/development-bundle/demos/toggleClass/index.html
/usr/lib64/python2.7/site-packages/sagenb/data/jqueryui/index.html

But as I said before, this soon will no longer be an issue,
as newer sagemath no longer use or bundle jqueryui. And to
be fair, the sagemath rpm notebook interface should not be
made available for untrusted people to use (well, it can
if in a vm or some kind of container), as it can do way
more stuff than hack some css, and afaik there are no
dialogs that will use user input for the title, but now
it has been patched just for sure.

Comment 6 pjp 2014-12-06 18:27:44 UTC
  Hello Paulo,

  Cool! If you think the newer version of 'sagemath' would fix this issue, then pushing that latest release is also an option. If not, could you please push this tested patch along with the current release?

Thank you.

Comment 7 Paulo Andrade 2014-12-06 18:37:54 UTC
It is not really doable to update to the latest release
due to too many dependency issues.
I am working on updating rawhide to 6.4.1.

I will add the patch to f20 sagemath-6.1.1 and
f21 sagemath 6.3. Once koji builds finish I will
submit updates.

Once ready, rawhide 6.4.1 will not need it.

Comment 8 Fedora Update System 2014-12-07 00:59:26 UTC
sagemath-6.1.1-6.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/sagemath-6.1.1-6.fc20

Comment 9 Fedora Update System 2014-12-07 01:00:05 UTC
sagemath-6.3-5.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/sagemath-6.3-5.fc21

Comment 10 pjp 2014-12-07 17:43:17 UTC
Thank you! :)

Comment 11 Fedora Update System 2014-12-12 04:19:36 UTC
Package sagemath-6.1.1-6.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing sagemath-6.1.1-6.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-16667/sagemath-6.1.1-6.fc20
then log in and leave karma (feedback).

Comment 12 Fedora Update System 2014-12-19 18:26:45 UTC
sagemath-6.3-5.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 13 Fedora Update System 2014-12-21 06:41:06 UTC
sagemath-6.1.1-6.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.