lambda表达式序列化的安全风险是什么?

Ada*_*dam 8 java lambda serialization java-8

刚刚介绍Streams和Java 8 Lambda功能,以及对其他不言自明的Oracle doc Lambda Expressions的最后评论:

如果lambda表达式的目标类型及其捕获的参数是可序列化的,则可以序列化它.但是,与内部类一样,强烈建议不要对lambda表达式进行序列化.

检查这一点我发现了SO问题

如何序列化lambda?

OP处理来自客户端代码的序列化lambda表达式.

如果我有一个互联网服务和参数之一是一个lambda表达式,现在看来,这可能包含恶意代码,可以做这样的事情的文件系统访问权限,或导致堆栈溢出 - 所以这将是非常愚蠢的信任它.

我是否过度夸大了安全风险,或者序列化表达式可以包含什么限制?

Gho*_*ica 5

让我们这样说:Java对象序列化在某种程度上是一个安全梦night(例如,请参阅此处)。

换句话说:序列化本身是一个主题,首先需要真正考虑周到。因此,如果您谈论序列化的lambda或任何其他类型的序列化的对象,则实际上并不重要。

因此,例如,您想要确保您了解并支持相应的规则,例如来自CERT的规则。