SV.SERIAL.NOWRITE
如果一个类直接或间接地实施“java.io.Serializable”接口,但未定义方法“private void writeObject(java.io.ObjectOutputStream out) throws IOException”,将针对此类报告 SV.SERIAL.NOWRITE。
漏洞与风险
如果一个类未使用正确的签名实施“writeObject”方法,则将使用“defaultWriteObject”提供的默认序列化。攻击者可以将您的对象序列化为可读取的字节数组。这将允许攻击者检查您对象的完整内部状态。
Klocwork 安全漏洞 (SV) 检查器可识别可能创建危险数据的调用;这些调用被视为不安全的来源。用户所提供的任何数据都可能是不安全的来源,因为用户可能是攻击者,或者可能引入人为错误。
缓解与预防
实施方法“private void writeObject(java.io.ObjectOutputStream out) throws IOException”。
示例 1
复制
public class SV_SERIAL_Sample_1 implements Serializable {
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
针对第 5 行的类“SV_SERIAL_Sample_1”声明报告 SV.SERIAL.NOWRITE。