Cause:
Beaker, a middleware dedicated to web application's cache and session data
management, used to yield unique session identification as hex-encoded MD5
digest of variable inputs. Nowadays, this algorithm is discouraged, and
in turn implicitly refused by Python's runtime in case of FIPS mode.
Consequence:
Some web applications using Beaker for sessions handling may not work
correctly under FIPS mode.
Fix:
In parallel with upstream development, session identification is yielded as
base64-encoded SHA1 digest of variable inputs.
Result:
Beaker no longer actively uses MD5 in the default setup, so even
the session handling in respective web applications does not suffer
in FIPS mode.
Comment 1Jan Pokorný [poki]
2013-07-10 21:53:17 UTC
Created attachment 771873[details]
Proposed patch
Upstream is a bit further as of now, however still contains very similar
bits; analogous patch proposed [1]. Based on the feedback, also the
current patch may change, otherwise I consider it final.
[1] https://github.com/bbangert/beaker/pull/45
Comment 3Jan Pokorný [poki]
2013-07-15 21:38:08 UTC
Created attachment 773920[details]
Polished patch
This reflects the changes proposed to upstream more tightly
(all md5 uses converted + fix a "seld" typo).
Comment 4Jan Pokorný [poki]
2013-08-06 16:32:40 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
http://rhn.redhat.com/errata/RHBA-2013-1724.html