Hi Mattia,
Thanks for the good summary! Let me comment on the open issues.
Unfixed security issues:
https://security-tracker.debian.org/tracker/CVE-2017-6845
-> I have committed a fix that should address this issue. Maybe someone on
the list can review my fix.
https://security-tracker.debian.org/tracker/CVE-2017-6846
https://security-tracker.debian.org/tracker/CVE-2017-6849
-> I am not sure about this, but this might be fixed with my commit to fix
CVE-2017-6845 above. Any other ideas to address this?
https://security-tracker.debian.org/tracker/CVE-2017-8053
-> Please see proposed patch in attachement. Can somebody test/review?
https://security-tracker.debian.org/tracker/CVE-2017-8054
-> This was fixed zyx in revision: 1872. I have a test PDF for this and
cannot reproduce this issue anymore.
Plus this one without CVE that was reported in this ML:
https://blogs.gentoo.org/ago/2017/02/01/podofo-null-pointer-dereference-in-
pdfinfoguessformat-pdfinfo-cpp/
(CVE-2017-8054 had a tentive patch)
-> Seems ame as above and seems fixed.
A threading problem:
https://sourceforge.net/p/podofo/mailman/message/35915862/
-> There is no need to make the matrix for XObjects static, so I made it
normal member. Same for s_procset in PdfCancas. So should be fixed with my
last commit.
A copyright issue:
https://sourceforge.net/p/podofo/mailman/message/35633858/
-> We still do not have a fix for this.
Regarding bug tracker: Yes, a bug tracker would be nice. But I can barely
follow the mailing list, so I do not feel I able to setup and maintain a
bug tracker. If somebody volunteers, I would not object.
BTW: Just found this on Sourceforge:
https://sourceforge.net/p/podofo/bugs/?source=navbar
Anybody has experience with this? Shall we just use this feature?
Best regards,
Dominik
On Mon, Jan 22, 2018 at 7:25 PM, Mattia Rizzolo <mat...@mapreri.org> wrote:
> [ explicitly put Dominik in To, as I'm unsure how much he follows the
> ML himself… ]
>
> On Sun, Jan 14, 2018 at 08:48:05PM +0100, Dominik Seichter via
> Podofo-users wrote:
> > The last version of PoDoFo was released almost a year ago on February 2nd
> > 2017. I have seen many patches on the mailing list and also many commits
> to
> > SVN over the last year. So, I think it is time for a new PoDoFo release
> > 0.9.6.
> >
> > As there might have been patches, which either Zyx or I have missing, I
> > would suggest the following release time line.
>
> In December there was a similar email to this going on, asking about a
> new release. It was pointed out that there are still known unfixed CVEs
> and other important issues.
> See https://sourceforge.net/p/podofo/mailman/message/36151169/
>
> To recap from that thread:
>
> Unfixed security issues:
> https://security-tracker.debian.org/tracker/CVE-2017-6845
> https://security-tracker.debian.org/tracker/CVE-2017-6846
> https://security-tracker.debian.org/tracker/CVE-2017-6849
> https://security-tracker.debian.org/tracker/CVE-2017-8053
> https://security-tracker.debian.org/tracker/CVE-2017-8054
> Plus this one without CVE that was reported in this ML:
> https://blogs.gentoo.org/ago/2017/02/01/podofo-null-
> pointer-dereference-in-pdfinfoguessformat-pdfinfo-cpp/
> (CVE-2017-8054 had a tentive patch)
>
> A copyright issue:
> https://sourceforge.net/p/podofo/mailman/message/35633858/
>
> A threading problem:
> https://sourceforge.net/p/podofo/mailman/message/35915862/
>
>
> Who knows what more…
> While you are here, would you reconsider opening a bug tracker
> somewhere? When it was proposed in the past in this ML, nobody was
> against it, but everybody deferred to you iirc.
>
> --
> regards,
> Mattia Rizzolo
>
> GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`.
> more about me: https://mapreri.org : :' :
> Launchpad user: https://launchpad.net/~mapreri `. `'`
> Debian QA page: https://qa.debian.org/developer.php?login=mattia `-
>
Index: src/base/PdfParser.cpp
===================================================================
--- src/base/PdfParser.cpp (Revision 1872)
+++ src/base/PdfParser.cpp (Arbeitskopie)
@@ -645,6 +645,21 @@
pdf_int64 nFirstObject = 0;
pdf_int64 nNumObjects = 0;
+ if( m_visitedXRefOffsets.find( lOffset ) != m_visitedXRefOffsets.end() )
+ {
+ std::ostringstream oss;
+ oss << "Cycle in xref structure. Offset "
+ << lOffset << " allready visisted."
+ << " back-references to object ";
+
+ PODOFO_RAISE_ERROR_INFO( ePdfError_InvalidXRef, oss.str() );
+ }
+ else
+ {
+ m_visitedXRefOffsets.insert( lOffset );
+ }
+
+
size_t curPosition = m_device.Device()->Tell();
m_device.Device()->Seek(0,std::ios_base::end);
std::streamoff fileSize = m_device.Device()->Tell();
Index: src/base/PdfParser.h
===================================================================
--- src/base/PdfParser.h (Revision 1872)
+++ src/base/PdfParser.h (Arbeitskopie)
@@ -594,6 +594,8 @@
int m_nReadNextTrailerLevel;
static long s_nMaxObjects;
+
+ std::set<pdf_long> m_visitedXRefOffsets;
};
// -----------------------------------------------------
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users