aboutsummaryrefslogtreecommitdiffstats
path: root/docs/limitations.rst
blob: 503bdfe48c877b568d3f287b153c79577c9001e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Known security limitations
--------------------------

Lack of secure memory wiping
============================

`Memory wiping`_ is used to protect secret data or key material from attackers
with access to uninitialized memory. This can be either because the attacker
has some kind of local user access or because of how other software uses
uninitialized memory.

Python exposes no API for us to implement this reliably and as such almost all
software in Python is potentially vulnerable to this attack. The
`CERT secure coding guidelines`_ assesses this issue as "Severity: medium,
Likelihood: unlikely, Remediation Cost: expensive to repair" and we do not
consider this a high risk for most users.

.. _`Memory wiping`:  https://blogs.msdn.microsoft.com/oldnewthing/20130529-00/?p=4223/
.. _`CERT secure coding guidelines`: https://www.securecoding.cert.org/confluence/display/c/MEM03-C.+Clear+sensitive+information+stored+in+reusable+resources
: ${component}") foreach(item ${list_var}) get_filename_component(BASENAME ${item} ${component}) list( APPEND ${dst_list} ${BASENAME}) endforeach() #message(STATUS "dst_list: ${${dst_list}}") endmacro() # extract target properties of all items in src_list in dst_list # example usage: extract_target_properties(QT_INCLUDES Qt5::Core INTERFACE_INCLUDE_DIR) macro(extract_target_properties target_props target_list property) set(list_var "${${target_list}}") # message(STATUS "list_var: ${list_var}") #message(STATUS "property: ${property}") foreach(item ${list_var}) get_target_property(value ${item} ${property}) list( APPEND ${target_props} ${value}) endforeach() #message(STATUS "target_props: ${${target_props}}") list(REMOVE_DUPLICATES ${target_props}) endmacro()