Summary: | Large amount of uninitialized values in svg parsing and processing | ||
---|---|---|---|
Product: | cairo | Reporter: | gustavo.grieco |
Component: | svg backend | Assignee: | Emmanuel Pacaud <emmanuel.pacaud> |
Status: | RESOLVED MOVED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | critical | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
gustavo.grieco
2015-11-11 17:09:53 UTC
Well, what do you want me to do with this report? The C program you link to "just" renders SVGs and the SVG files which you claim to attach aren't attached. Just saying that somewhere there is a use of undefined variable that causes malfunction in cairo doesn't really help me. And yes, you say that you will attach the files after the bug was marked private. Sadly I don't think I have more rights in bugzilla than you do. And, as far as I know, firefox bundles their own (ancient?) copy of cairo anyway, so having a fixed cairo version won't help firefox immediately anyway. I can see why you don't want to provide the SVG files. How about a list of uninitialized variables? (With git commit id, file name, line, or something like that) Or alternatively a patch which initializes these variables? (That should turn this problem into NULL pointer dereferences which should be "less severe" and unitialized variables should be easy to initialize to NULL / 0 / 0.0 / whatever) > Well, what do you want me to do with this report? The C program you link to "just" renders SVGs and the SVG files which you claim to attach aren't attached. Just saying that somewhere there is a use of undefined variable that causes malfunction in cairo doesn't really help me. > And yes, you say that you will attach the files after the bug was marked private. Sadly I don't think I have more rights in bugzilla than you do. And, as far as I know, firefox bundles their own (ancient?) copy of cairo anyway, so having a fixed cairo version won't help firefox immediately anyway. This bug is affecting Firefox in because they use gdk-pixbuf in the open-file dialog box to render a preview of the image that can fail if you browse a directory with a malicious image. Also, as far as i know, they are not using an ancient version of cairo. The version of cairo used here depends on gdk-pixbuf, which is the last version in the Ubuntu 14.04 repositories (1.13) > I can see why you don't want to provide the SVG files. How about a list of uninitialized variables? (With git commit id, file name, line, or something like that) Or alternatively a patch which initializes these variables? (That should turn this problem into NULL pointer dereferences which should be "less severe" and unitialized variables should be easy to initialize to NULL / 0 / 0.0 / whatever) I shared these test cases with the Mozilla security team and they have a private bug, so it is better to keep them private for now. I can send them to to your private email if you want. You can find the version of cairo in firefox by printing a page to a file in pdf format and using pdfinfo (or a pdf viewer that shows pdf properties) to show the cairo version. Using Firefox in Ubuntu 15.10 to print to a pdf and checking with pdfinfo I get: $ pdfinfo file.pdf Creator: cairo 1.9.5 (http://cairographics.org) Producer: cairo 1.9.5 (http://cairographics.org) Tagged: no UserProperties: no Suspects: no Form: none JavaScript: no Pages: 18 Encrypted: no Page size: 595.3 x 841.9 pts (A4) Page rot: 0 File size: 1284826 bytes Optimized: no PDF version: 1.5 So I would say yes they are still using an ancient version of cairo. -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/292. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.