Skip to content
HighVulnerability

GHSA-mxhj-88fx-4pcv: Fickling: OBJ opcode call invisibility bypasses all safety checks

Published
Record updated
View JSON
Affected
  • fickling < 0.1.8
Fixed in
0.1.8
  • released February 20, 2026, 3 days before disclosure

Summary

Fickling's OBJ, NEWOBJ and NEWOBJ_EX opcode handlers push calls onto the interpreter stack without persisting them to the AST via new_variable(). When a result is discarded with POP, the call disappears from the AST, so all five safety interfaces report LIKELY_SAFE for pickles that invoke dangerous stdlib functions such as smtplib.SMTP. Affected versions run through 0.1.7.

Mitigation

The source states a fix: the interpreter was changed so it behaves closer to CPython when dealing with OBJ, NEWOBJ, and NEWOBJ_EX opcodes (commit ff423dade2bb1f72b2b48586c022fac40cbd9a4a).