Skip to content

Commit 26c20aa

Browse files
committed
Move security considerations to separate section with references from registrations.
1 parent 1f216de commit 26c20aa

File tree

1 file changed

+34
-66
lines changed

1 file changed

+34
-66
lines changed

index.html

Lines changed: 34 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -3888,7 +3888,7 @@ <h3>Using the Document Base for the Default Vocabulary</h3>
38883888
To prevent this divergence of interpretation,
38893889
JSON-LD 1.1 allows term definitions to be <em>protected</em>.
38903890
</p>
3891-
<p>A <dfn>protected term definition</dfn> is a term definition with an <a>entry</a> <code>@protected</code> set to <code>true</code>.
3891+
<p>A <dfn class="export">protected term definition</dfn> is a term definition with an <a>entry</a> <code>@protected</code> set to <code>true</code>.
38923892
It generally prevents further contexts from overriding this term definition,
38933893
either through a new definition of the same term,
38943894
or through clearing the context with <code>"@context": null</code>.
@@ -13015,7 +13015,35 @@ <h3>Serializing/Deserializing RDF</h3>
1301513015

1301613016
<section id="security">
1301713017
<h3>Security Considerations</h3>
13018-
<p>See, <a href="#iana-security">Security Considerations</a> in <a href="#iana-considerations" class="sectionRef"></a>.</p>
13018+
<p>See <a data-cite="RFC8259#section-12">RFC&nbsp;8259, section 12</a> [[RFC8259]].</p>
13019+
<p>Since JSON-LD is intended to be a pure data exchange format for
13020+
directed graphs, the serialization SHOULD NOT be passed through a
13021+
code execution mechanism such as JavaScript's <code>eval()</code>
13022+
function to be parsed. An (invalid) document may contain code that,
13023+
when executed, could lead to unexpected side effects compromising
13024+
the security of a system.</p>
13025+
<p>When processing JSON-LD documents, links to remote contexts and frames are
13026+
typically followed automatically, resulting in the transfer of files
13027+
without the explicit request of the user for each one. If remote
13028+
contexts are served by third parties, it may allow them to gather
13029+
usage patterns or similar information leading to privacy concerns.
13030+
Specific implementations, such as the API defined in the
13031+
JSON-LD 1.1 Processing Algorithms and API specification [[JSON-LD11-API]],
13032+
may provide fine-grained mechanisms to control this behavior.</p>
13033+
<p>JSON-LD contexts that are loaded from the Web over non-secure connections,
13034+
such as HTTP, run the risk of being altered by an attacker such that
13035+
they may modify the JSON-LD <a>active context</a> in a way that
13036+
could compromise security. It is advised that any application that
13037+
depends on a remote context for mission critical purposes vet and
13038+
cache the remote context before allowing the system to use it.</p>
13039+
<p>Given that JSON-LD allows the substitution of long IRIs with short terms,
13040+
JSON-LD documents may expand considerably when processed and, in the worst case,
13041+
the resulting data might consume all of the recipient's resources. Applications
13042+
should treat any data with due skepticism.</p>
13043+
<p>As JSON-LD places no limits on the IRI schemes that may be used,
13044+
and vocabulary-relative IRIs use string concatenation rather than
13045+
IRI resolution, it is possible to construct IRIs that may be
13046+
used maliciously, if dereferenced.</p>
1301913047

1302013048
<p class="note">Future versions of this specification
1302113049
may incorporate subresource integrity [[?SRI]] as a means of ensuring that cached and retrieved
@@ -13425,7 +13453,7 @@ <h2>IANA Considerations</h2>
1342513453
<p>This section has been submitted to the Internet Engineering Steering
1342613454
Group (IESG) for review, approval, and registration with IANA.</p>
1342713455

13428-
<section id="media-type-ld-json">
13456+
<section id="application-ld-json">
1342913457
<h3>application/ld+json</h3>
1343013458
<dl>
1343113459
<dt>Type name:</dt>
@@ -13469,11 +13497,6 @@ <h3>application/ld+json</h3>
1346913497
</dl>
1347013498
<p>All other URIs starting with <code>http://www.w3.org/ns/json-ld</code>
1347113499
are reserved for future use by JSON-LD specifications.</p>
13472-
<!--p>Other specifications MAY create further structured subtypes
13473-
by using `+ld+json` as a suffix for a new base subtype, as in
13474-
`application/example+ld+json`.
13475-
Unless defined otherwise, such subtypes use the same
13476-
fragment identifier behavior as `application/ld+json`.</p-->
1347713500
<p>Other specifications may publish additional `profile` parameter
1347813501
URIs with their own defined semantics.
1347913502
This includes the ability to associate a file extension with a `profile` parameter.</p>
@@ -13493,35 +13516,8 @@ <h3>application/ld+json</h3>
1349313516
<dt>Encoding considerations:</dt>
1349413517
<dd>See <a data-cite="RFC8259#section-11">RFC&nbsp;8259, section 11</a>.</dd>
1349513518
<dt id="iana-security">Security considerations:</dt>
13496-
<dd>See <a data-cite="RFC8259#section-12">RFC&nbsp;8259, section 12</a> [[RFC8259]]
13497-
<p>Since JSON-LD is intended to be a pure data exchange format for
13498-
directed graphs, the serialization SHOULD NOT be passed through a
13499-
code execution mechanism such as JavaScript's <code>eval()</code>
13500-
function to be parsed. An (invalid) document may contain code that,
13501-
when executed, could lead to unexpected side effects compromising
13502-
the security of a system.</p>
13503-
<p>When processing JSON-LD documents, links to remote contexts and frames are
13504-
typically followed automatically, resulting in the transfer of files
13505-
without the explicit request of the user for each one. If remote
13506-
contexts are served by third parties, it may allow them to gather
13507-
usage patterns or similar information leading to privacy concerns.
13508-
Specific implementations, such as the API defined in the
13509-
JSON-LD 1.1 Processing Algorithms and API specification [[JSON-LD11-API]],
13510-
may provide fine-grained mechanisms to control this behavior.</p>
13511-
<p>JSON-LD contexts that are loaded from the Web over non-secure connections,
13512-
such as HTTP, run the risk of being altered by an attacker such that
13513-
they may modify the JSON-LD <a>active context</a> in a way that
13514-
could compromise security. It is advised that any application that
13515-
depends on a remote context for mission critical purposes vet and
13516-
cache the remote context before allowing the system to use it.</p>
13517-
<p>Given that JSON-LD allows the substitution of long IRIs with short terms,
13518-
JSON-LD documents may expand considerably when processed and, in the worst case,
13519-
the resulting data might consume all of the recipient's resources. Applications
13520-
should treat any data with due skepticism.</p>
13521-
<p>As JSON-LD places no limits on the IRI schemes that may be used,
13522-
and vocabulary-relative IRIs use string concatenation rather than
13523-
IRI resolution, it is possible to construct IRIs that may be
13524-
used maliciously, if dereferenced.</p>
13519+
<dd>
13520+
See <a href="#security" class="sectionRef"></a>.
1352513521
</dd>
1352613522
<dt>Interoperability considerations:</dt>
1352713523
<dd>Not Applicable</dd>
@@ -13688,35 +13684,7 @@ <h3>+ld+json</h3>
1368813684
-->
1368913685
<dt>Security considerations</dt>
1369013686
<dd>
13691-
See <a data-cite="RFC8259#section-12">RFC&nbsp;8259, section 12</a> [[RFC8259]]
13692-
<p>Since JSON-LD is intended to be a pure data exchange format for
13693-
directed graphs, the serialization SHOULD NOT be passed through a
13694-
code execution mechanism such as JavaScript's <code>eval()</code>
13695-
function to be parsed. An (invalid) document may contain code that,
13696-
when executed, could lead to unexpected side effects compromising
13697-
the security of a system.</p>
13698-
<p>When processing JSON-LD documents, links to remote contexts and frames are
13699-
typically followed automatically, resulting in the transfer of files
13700-
without the explicit request of the user for each one. If remote
13701-
contexts are served by third parties, it may allow them to gather
13702-
usage patterns or similar information leading to privacy concerns.
13703-
Specific implementations, such as the API defined in the
13704-
JSON-LD 1.1 Processing Algorithms and API specification [[JSON-LD11-API]],
13705-
may provide fine-grained mechanisms to control this behavior.</p>
13706-
<p>JSON-LD contexts that are loaded from the Web over non-secure connections,
13707-
such as HTTP, run the risk of being altered by an attacker such that
13708-
they may modify the JSON-LD <a>active context</a> in a way that
13709-
could compromise security. It is advised that any application that
13710-
depends on a remote context for mission critical purposes vet and
13711-
cache the remote context before allowing the system to use it.</p>
13712-
<p>Given that JSON-LD allows the substitution of long IRIs with short terms,
13713-
JSON-LD documents may expand considerably when processed and, in the worst case,
13714-
the resulting data might consume all of the recipient's resources. Applications
13715-
should treat any data with due skepticism.</p>
13716-
<p>As JSON-LD places no limits on the IRI schemes that may be used,
13717-
and vocabulary-relative IRIs use string concatenation rather than
13718-
IRI resolution, it is possible to construct IRIs that may be
13719-
used maliciously, if dereferenced.</p>
13687+
See <a href="#security" class="sectionRef"></a>.
1372013688
</dd>
1372113689

1372213690
<!--

0 commit comments

Comments
 (0)