2054
Notes
Research Gap
Issues related to state and cache - creation, preservation, and update - are a significant
gap in CWE that is expected to be addressed in future versions. It likely has relationships to
concurrency and synchronization, incorrect behavior order, and other areas that already have
some coverage in CWE, although the focus has typically been on independent processes on the
same operating system - not on independent systems that are all a part of a larger system-ofsystems.
References
[REF-1069]Tanakorn Leesatapornwongsa, Jeffrey F. Lukman, Shan Lu and Haryadi S. Gunawi.
"TaxDC: A Taxonomy of Non-Deterministic Concurrency Bugs in Datacenter Distributed Systems".
2016. < https://ucare.cs.uchicago.edu/pdf/asplos16-TaxDC.pdf >.
CWE-1251: Mirrored Regions with Different Values
Weakness ID : 1251
Structure : Simple
Abstraction : Base
Description
The product's architecture mirrors regions without ensuring that their contents always stay in sync.
Extended Description
Having mirrored regions with different values might result in the exposure of sensitive information
or possibly system compromise.
In the interest of increased performance, one might need to duplicate a resource. A cache memory
is a common example of this concept, which keeps a "local" copy of a data element in the high
speed cache memory. Unfortunately, this speed improvement comes with a downside, since the
product needs to ensure that the local copy always mirrors the original copy truthfully. If they get
out of sync, the computational result is no longer true.
During hardware design, memory is not the only item which gets mirrored. There are many other
entities that get mirrored, as well: registers, memory regions, and, in some cases, even whole
computational units. For example, within a multi-core processor, if all memory accesses for each
and every core goes through a single Memory-Management Unit (MMU) then the MMU will become
a performance bottleneck. In such cases, duplicating local MMUs that will serve only a subset of
the cores rather than all of them may resolve the performance issue. These local copies are also
called "shadow copies" or "mirrored copies."
If the original resource never changed, local duplicate copies getting out of sync would never be
an issue. However, the values of the original copy will sometimes change. When the original copy
changes, the mirrored copies must also change, and change fast.
This situation of shadow-copy-possibly-out-of-sync-with-original-copy might occur as a result of
multiple scenarios, including the following:
• After the values in the original copy change, due to some reason the original copy does not
send the "update" request to its shadow copies.
• After the values in the original copy change, the original copy dutifully sends the "update"
request to its shadow copies, but due to some reason the shadow copy does not "execute"
this update request.
CWE Version 4.14
CWE-1251: Mirrored Regions with Different Values
CWE-1251: Mirrored Regions with Different Values