[OTR-users] libotr/pidgin-otr 4.0.0 "beta2" release and win32 build
Ian Goldberg
ian at cypherpunks.ca
Fri Jun 22 22:27:33 EDT 2012
On Fri, Jun 22, 2012 at 05:00:32PM -0700, Jacob Appelbaum wrote:
> On 06/21/2012 03:00 PM, Ian Goldberg wrote:
> > Thanks for all of your feedback on 4.0.0-beta1! We've built a beta2
> > in the usual place:
> >
> > http://otr.cypherpunks.ca/libotr-4.0.0-beta2.tar.gz
> > http://otr.cypherpunks.ca/libotr-4.0.0-beta2.tar.gz.asc
> >
> > http://otr.cypherpunks.ca/pidgin-otr-4.0.0-beta2.tar.gz
> > http://otr.cypherpunks.ca/pidgin-otr-4.0.0-beta2.tar.gz.asc
> >
> > http://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.0-0-beta2.exe
> > http://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.0-0-beta2.exe.asc
> >
> > http://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.0-beta2.zip
> > http://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.0-beta2.zip.asc
> >
> > This is still not for production use, but we'd love more feedback,
> > notices of weird behaviours, or crash reports.
>
> I'd like to suggest that you take the gcc/compiler hardening code from
> Tor's autoconf - I think you need it on by default and it's rather well
> tested now for all of the major platforms:
>
> https://gitweb.torproject.org/tor.git/blob/f96f319b9e9fba5ff52eba2daec2247080f268ee:/configure.in#l557
Jake, as you say in your subsequent email, we'd love to see a patch to
this effect. Paul, we'd also like your opinion on it before we'd merge
it.
> > As before:
> >
> > Translators: We would appreciate your help with updating the pidgin-otr
> > translations. There are a few new strings, mostly regarding the support for
> > multiple OTR sessions with the same buddy. Please send us your updated
> > .po files as soon as possible, so we can include them in the 4.0.0
> > release.
>
> As a minor note of caution, I've noticed that this version of OTR uses
> gnu gettext's _() function with a lot of format strings. I'm sure this
> is old news but this can be dangerous. If your translators are hostile,
> and do not correctly include format strings, you'll have some security
> issues.
Yup, I'm aware, and I've been checking the .po files for this, albeit
manually.
> If possible, I'd suggest a unit test or two to ensure that all .po files
> have matching format strings for every translation. msgfmt can do a
> check of the type and number of arguments passed around.
Ah! I didn't know that about msgfmt! Fantastic. I've run it on the
.po files we have, and indeed it caught a couple of errors. Thanks so
much! We'll definitely make it a standard part of integrating .po files
from now on.
> A few years ago, I found a strcpy that had a static string being copied
> into a static buffer. In theory, it's fine and in practice, the static
> string was inside of _() and so, a hostile translator could smash the
> stack. Obviously this is a wacky corner case but it's something to consider.
>
> It's not totally unlike this code:
>
> gtk-dialog.c: strcpy(our_hash, _("[none]"));
>
>
> I think that a 46 byte translation for "[none]" would cause you some
> issues. I have some private code that I wrote to demonstrate how one
> could exploit/mess around with this stuff, if it's of interest, I'll
> share it with you guys.
Good catch. I'd fixed this in other places, but had missed this one.
Fixed in git (along with the above .po issues).
> Additionally, I have some audit notes from the last stable release of
> libotr/pidgin-otr on an old disk, I'll try to dig it up and send it
> over. Nothing major, obviously.
Yes, please. ;-)
Thanks for your help!
- Ian
More information about the OTR-users
mailing list