TraintTrackingUtil.qll currently models that all ObjectInputStream read% methods preserve tainted data:
|
m.getDeclaringType().hasQualifiedName("java.io", "ObjectInputStream") and |
|
m.getName().matches("read%") |
As pointed out in #4582 (comment), this logic is likely faulty because read(byte[], int, int) returns the number of read bytes which therefore should not represent tainted data.