Opened 6 years ago

Closed 3 years ago

Last modified 2 years ago

#29708 closed Cleanup/optimization (fixed)

Deprecate PickleSerializer and move it out of core

Reported by: Alex Gaynor Owned by: Adam Johnson
Component: contrib.sessions Version: dev
Severity: Normal Keywords:
Cc: Adam Johnson Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Pickle serializer has long been known to be dangerous. This is mitigated by requiring MAC on pickle in cookies, but nevertheless, RCEs continue to happen: https://blog.scrt.ch/2018/08/24/remote-code-execution-on-a-facebook-server/

To further discourage it's use, we should consider deprecating PickleSerializer and moving it into a third party package.

Change History (8)

comment:1 by Tim Graham, 6 years ago

Component: Uncategorizedcontrib.sessions
Triage Stage: UnreviewedSomeday/Maybe
Type: UncategorizedCleanup/optimization

comment:2 by Adam Johnson, 6 years ago

Cc: Adam Johnson added

comment:3 by Adam Johnson, 5 years ago

Has patch: set
Owner: changed from nobody to Adam Johnson
Patch needs improvement: set
Status: newassigned
Triage Stage: Someday/MaybeAccepted
Version: 2.1master

I've solved pickle problems for a couple clients so I thought it's worth picking this up.

comment:4 by Mariusz Felisiak, 3 years ago

Patch needs improvement: unset
Triage Stage: AcceptedReady for checkin

comment:5 by Mariusz Felisiak <felisiak.mariusz@…>, 3 years ago

In c6cb5a02:

Refs #29708 -- Stopped inheriting from PickleSerializer by RedisSerializer.

comment:6 by Mariusz Felisiak <felisiak.mariusz@…>, 3 years ago

In 43686278:

Refs #29708 -- Made SessionBase store expiry as string.

comment:7 by Mariusz Felisiak <felisiak.mariusz@…>, 3 years ago

Resolution: fixed
Status: assignedclosed

In 45a42aa:

Fixed #29708 -- Deprecated PickleSerializer.

comment:8 by Mariusz Felisiak <felisiak.mariusz@…>, 2 years ago

In b119f43:

Refs #29708 -- Removed PickleSerializer per deprecation timeline.

Note: See TracTickets for help on using tickets.
Back to Top