Commit 0642160
docs(codec): clarify strict-mode security scope
The doc on `with_python_udf_inlining(false)` said strict mode "rejects
cloudpickle.loads on untrusted from_bytes input", which could be misread
as making `pickle.loads(untrusted)` safe. It does not.
Strict mode only narrows the codec layer: it stops `Expr::from_bytes`
from invoking `cloudpickle.loads` on the inline `DFPY*` payload. The
outer pickle stream is still arbitrary code — `pickle.loads` honors any
`__reduce__` the bytes name, and an attacker is free to choose one.
Spell that out in the doc so callers don't treat the toggle as a
substitute for "never pickle.loads untrusted input." The Python-side
docstring (`SessionContext.with_python_udf_inlining`) already carries
the equivalent caveat; this brings the Rust side in line.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 9a265e4 commit 0642160
1 file changed
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
152 | 164 | | |
153 | 165 | | |
154 | 166 | | |
| |||
0 commit comments