@@ -26,4 +26,44 @@ manualLink: https://www.apache.org/security/
2626
2727-->
2828
29- Apache Avro project shares the same security policy as the [ Apache Software Foundation] ( https://www.apache.org/security/ )
29+ Security Policy
30+ ===============
31+
32+ Apache Avro project shares the same security policy as
33+ the [ Apache Software Foundation] ( https://www.apache.org/security/ ) .
34+
35+
36+ Security Model
37+ ==============
38+
39+ The Avro library implementations are designed to read and write any data conforming
40+ to a schema. Transport is outside the scope of the Avro library: applications using
41+ Avro should be surrounded by security measures that prevent attackers from writing
42+ random data and otherwise interfering with the consumers of schemas.
43+
44+ Although the Avro library will not read or write data except as directed to by
45+ invoking it, avoiding leaking data into a side channel like log files is a non-goal
46+ security-wise for Avro. This means, for example, that you will need to catch and
47+ handle exceptions instead of simply writing them to a log file.
48+
49+ In some cases, like schema parsing, type conversions and based on explicit schema
50+ properties, Avro can execute code provided by the environment. Avro has opt-in
51+ mechanisms for code that is eligible for execution. Applications using Avro should
52+ have a secured supply chain, ensuring code registered to be executed is safe.
53+
54+ This supply chain also includes the schemas being used: if they are user provided,
55+ additional validation is strongly advised. Such validation can use the parsed schema,
56+ as schema parsing itself is safe: the parser allows SPIs, but is not otherwise
57+ configurable.
58+
59+
60+ Summary
61+ -------
62+
63+ In short, using Avro is safe, provided applications:
64+
65+ * are surrounded by security measures that prevent attackers from writing random
66+ data and otherwise interfering with the consumers of schemas
67+ * avoid leaking data by, for example, catching and handling exceptions
68+ * have a secured supply chain, ensuring code registered to be executed is safe
69+ * if schemas are user provided, validate the parsed schema before use
0 commit comments