Closed Bug 1885245 Opened 1 year ago Closed 1 year ago

Remove PlainOldDataSerializer

Categories

(Core :: IPC, task, P1)

task

Tracking

()

RESOLVED FIXED
130 Branch
Tracking Status
firefox-esr115 --- wontfix
firefox-esr128 --- fixed
firefox129 --- wontfix
firefox130 --- fixed

People

(Reporter: jgilbert, Assigned: jgilbert)

References

Details

Attachments

(1 file, 1 obsolete file)

It's not sound, and especially with ParamTraits_TiedFields, there are nearly-as-easy solutions that are actually sound.

Depends on: 1885246
Depends on: 1885028
Depends on: 1909018
Depends on: 1909019

There's no sufficiently robust way to identify POD types in C++, such
that we could rely on this kind of thing for serialization.

As one example, bool must be carefully handled on deserialize, in case
an attacker wants to exploit the UB of bool with value 2.
Additionally, generally it's not viable to tell whether all the members
of a struct are PODs as well, and we need that level of assurance
recursively!

So we instead lean on e.g. ParamTraits_TiedFields/_IsEnumCase for our
extreme robustness requirements.

Attachment #9414502 - Attachment is obsolete: true
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 130 Branch

Comment on attachment 9414501 [details]
Bug 1885245 - Remove PlainOldDataSerializer.

Carrying over the approval requests from bug 1909019...

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration: Harder to backport fixes to ESR, and losing out on some defense-in-depth
  • User impact if declined:
  • Fix Landed on Version: 130
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): It's on Beta now with no known regressions.
Attachment #9414501 - Flags: approval-mozilla-esr128?

Comment on attachment 9414501 [details]
Bug 1885245 - Remove PlainOldDataSerializer.

Approved for 128.2esr.

Attachment #9414501 - Flags: approval-mozilla-esr128? → approval-mozilla-esr128+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: