[Remember Mailing List] Security releases for Products.remember

0 views
Skip to first unread message

Maurits van Rees

unread,
Dec 2, 2011, 9:00:16 AM12/2/11
to reme...@lists.coactivate.org
Hi list,

In the wake of the security release of Products.membrane from yesterday
I fixed a similar problem in Products.remember, also indicated by
Richard Mitchell, thanks.

The security problem is this: anonymous users could get the password
hash of a remember member. It is not an immediate problem, but it sure
makes it easier to crack passwords.

I have made three releases with this fix on PyPI, 1.1, 1.2, 1.9, all
listed here:
http://pypi.python.org/pypi/Products.remember

1.1 is the old 1.1b3 release from 2009 with the security fix added. Use
this when you were using that release and do not want a big upgrade.
Compatible with Plone 3.x and Products.membrane 1.1. Definitely NOT
with Plone 4 or Products.membrane 2.x.

1.2 has more changes; see the changelog. It has the changes that were
done on trunk before Ken started doing bigger changes leading to the 1.9
series. Compatible with Plone 3 and Products.membrane 1.1 or 2.x (2.1.1
recommended). Might work on Plone 4 but the automated tests say
otherwise; that might just be a problem with the tests though.

1.9 is the obvious choice when you were already running 1.9b1.
Compatible with Plone 4.x and Products.membrane 2.x (2.1.1 recommended).

Like always: make a backup of your Data.fs (and blobstorage if you have
it) before applying this upgrade and make sure you know how to restore
that backup and the previous software versions in case anything goes
wrong. And do some testing on a copy of your site first.

Got a question? Ask it on this list.

Note for developers of Products.remember: I have made branches 1.1 and
1.2 that can be used in case new releases need to be made in those
lines. New developments are likely to only happen on trunk (1.9),
though I myself have no current plans. If anyone wants to fix the 1.2
branch (or perhaps just the tests) so the tests run on both Plone 3 and
4, be my guest. All branches and trunk have a buildout.cfg for testing.

Kind regards,

--
Maurits van Rees http://maurits.vanrees.org/
Web App Programmer at Zest Software: http://zestsoftware.nl
"Logical thinking shows conclusively that logical thinking
is inconclusive." - My summary of G�del, Escher, Bach

--
Archive: http://www.coactivate.org/projects/remember/lists/remember/archive/2011/12/1322834418554
To unsubscribe send an email with subject "unsubscribe" to reme...@lists.coactivate.org. Please contact remember...@lists.coactivate.org for questions.

Mike Metcalfe

unread,
Dec 7, 2011, 6:31:38 AM12/7/11
to reme...@lists.coactivate.org
I have a Plone 3.3.5 site in production that has remember and membrane pegged at versions 1.1b3 and 1.1b3 respectively. When I peg them at 1.2 and 2.1.1, the client's product that uses remember no longer appears in portal_quickinstaller (if I switch back and rebuild, it reappears).

I also tried remember 1.2 with membrane 1.1 but on starting zope, p.remember/content/member.py fails to import Products.membrane.at on line 36. (which isn't in membrane 1.1)


On 2 December 2011 16:00, Maurits van Rees <m.van...@zestsoftware.nl> wrote:
Hi list,

In the wake of the security release of Products.membrane from yesterday I fixed a similar problem in Products.remember, also indicated by Richard Mitchell, thanks.

The security problem is this: anonymous users could get the password hash of a remember member.  It is not an immediate problem, but it sure makes it easier to crack passwords.

I have made three releases with this fix on PyPI, 1.1, 1.2, 1.9, all listed here:
http://pypi.python.org/pypi/Products.remember

1.1 is the old 1.1b3 release from 2009 with the security fix added.  Use this when you were using that release and do not want a big upgrade.  Compatible with Plone 3.x and Products.membrane 1.1.  Definitely NOT with Plone 4 or Products.membrane 2.x.

1.2 has more changes; see the changelog.  It has the changes that were done on trunk before Ken started doing bigger changes leading to the 1.9 series.  Compatible with Plone 3 and Products.membrane 1.1 or 2.x (2.1.1 recommended).  Might work on Plone 4 but the automated tests say otherwise; that might just be a problem with the tests though.

1.9 is the obvious choice when you were already running 1.9b1.  Compatible with Plone 4.x and Products.membrane 2.x (2.1.1 recommended).

Like always: make a backup of your Data.fs (and blobstorage if you have it) before applying this upgrade and make sure you know how to restore that backup and the previous software versions in case anything goes wrong.  And do some testing on a copy of your site first.

Got a question? Ask it on this list.

Note for developers of Products.remember: I have made branches 1.1 and 1.2 that can be used in case new releases need to be made in those lines.  New developments are likely to only happen on trunk (1.9), though I myself have no current plans.  If anyone wants to fix the 1.2 branch (or perhaps just the tests) so the tests run on both Plone 3 and 4, be my guest. All branches and trunk have a buildout.cfg for testing.

Kind regards,


--
Maurits van Rees   http://maurits.vanrees.org/
Web App Programmer at Zest Software: http://zestsoftware.nl
"Logical thinking shows conclusively that logical thinking
is inconclusive." - My summary of Gödel, Escher, Bach



--
Archive: http://www.coactivate.org/projects/remember/lists/remember/archive/2011/12/1322834418554
To unsubscribe send an email with subject "unsubscribe" to reme...@lists.coactivate.org.  Please contact remember-manager@lists.coactivate.org for questions.




--
Mike Metcalfe



Maurits van Rees

unread,
Dec 7, 2011, 6:41:55 PM12/7/11
to reme...@lists.coactivate.org
Op 07-12-11 12:31, Mike Metcalfe schreef:
I have a Plone 3.3.5 site in production that has remember and membrane pegged at versions 1.1b3 and 1.1b3 respectively.

That is two times the same number.  That is certainly possible, but I guess for Products.membrane you mean 1.1b5?  Well, the exact number is not too relevant in that case actually as long as it is 1.1bX: just switch to 1.1 for both products then.


When I peg them at 1.2 and 2.1.1, the client's product that uses remember no longer appears in portal_quickinstaller (if I switch back and rebuild, it reappears).

Hm, kinda hard to say without having the code of that client's product.  Perhaps the install method of this client product is expecting things in Products.remember or membrane that have been changed?  Are you getting an error or warning in the logs (or on the foreground) when you look at the portal_quickinstaller?  Does the product end up in the products in the root Zope Control Panel or does it vanish (or show an error) there as well?


I also tried remember 1.2 with membrane 1.1 but on starting zope, p.remember/content/member.py fails to import Products.membrane.at on line 36. (which isn't in membrane 1.1)

I think that combination should work, but maybe I got myself confused.  Checking now... Ah, you are correct, Products.remember 1.2 and Products.membrane 1.1 definitely do not match.  Sorry about that.  For clarity I have just released Products.remember 1.2.1 that has an official requirement on Products.membrane>=2.0dev.

Cheers,


-- 
Maurits van Rees   http://maurits.vanrees.org/
Web App Programmer at Zest Software: http://zestsoftware.nl
"Logical thinking shows conclusively that logical thinking
is inconclusive." - My summary of Gödel, Escher, Bach

Mike Metcalfe

unread,
Dec 8, 2011, 3:09:55 AM12/8/11
to reme...@lists.coactivate.org
Hi Mauritz,

On 8 December 2011 01:41, Maurits van Rees <m.van...@zestsoftware.nl> wrote:
Hm, kinda hard to say without having the code of that client's product.  Perhaps the install method of this client product is expecting things in Products.remember or membrane that have been changed?  Are you getting an error or warning in the logs (or on the foreground) when you look at the portal_quickinstaller? 
Does the product end up in the products in the root Zope Control Panel or does it vanish (or show an error) there as well?
Yes product is in zope products and it's profile appears in portal_setup. 
There are no warnngs or errors front or back when viewing qi. 
Regarding the "install method", I checked the following files:  __init__.py doesn't reference remember at all, config.py uses ADD_MEMBER_PERMISSION and setuphandlers.py uses getAdderUtility. I not sure what where else to look.
 
For clarity I have just released Products.remember 1.2.1 that has an official requirement on Products.membrane>=2.0dev.
Thanks, that pulls in membrane 2.1.1.
Reply all
Reply to author
Forward
0 new messages