<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-documentation.git/docs, branch claude/vyos-docs-security-remediate-2cff61</title>
<subtitle>VyOS readthedocs (mirror of https://github.com/vyos/vyos-documentation.git)
</subtitle>
<id>https://git.amelek.net/vyos/vyos-documentation.git/atom?h=claude%2Fvyos-docs-security-remediate-2cff61</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-documentation.git/atom?h=claude%2Fvyos-docs-security-remediate-2cff61'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-documentation.git/'/>
<updated>2026-07-28T02:36:57+00:00</updated>
<entry>
<title>security: normalize percent escapes per run, not per segment</title>
<updated>2026-07-28T02:36:57+00:00</updated>
<author>
<name>Yuriy Andamasov</name>
<email>yuriy@vyos.io</email>
</author>
<published>2026-07-28T02:36:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-documentation.git/commit/?id=0c9348035b583f3cd5fca72937a7ec1a61d7df45'/>
<id>urn:sha1:0c9348035b583f3cd5fca72937a7ec1a61d7df45</id>
<content type='text'>
Round-2 adversarial finding (Codex, medium): whole-segment decode meant
one malformed escape (a%20b%zz) threw for the segment and double-encoded
the valid escapes beside it. encodeSegment now decodes+re-encodes each
well-formed %HH run independently; literal spans (including a bare '%')
always pass through encodeURIComponent, so taint neutralization holds
unconditionally; a run decoding to invalid UTF-8 stays verbatim (already
pure %HH text).

workers suite 108/108 (+2 discriminating regression tests).

🤖 Generated by [robots](https://vyos.io)
</content>
</entry>
<entry>
<title>security: normalize pre-existing percent escapes in encodePath</title>
<updated>2026-07-28T02:24:34+00:00</updated>
<author>
<name>Yuriy Andamasov</name>
<email>yuriy@vyos.io</email>
</author>
<published>2026-07-28T02:24:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-documentation.git/commit/?id=cfca705f325a073c00e221a080eff968112d7653'/>
<id>urn:sha1:cfca705f325a073c00e221a080eff968112d7653</id>
<content type='text'>
Adversarial-review finding (Codex, medium): location.pathname returns
well-formed escapes verbatim, so blind encodeURIComponent double-encoded
them (%2E -&gt; %252E), broke the HEAD probe on escaped deep links, and
dumped the user at the version root. Each segment is now decoded first
(malformed escapes keep the raw segment — no throw), then re-encoded to
canonical single encoding. Decoding cannot resurrect dot-segments:
the URL parser resolves '.'/'..' and their percent-encoded forms during
navigation, so pathname never presents them (verified against the WHATWG
parser in Node).

workers suite 106/106 (+2 regression tests, mutation-verified).

🤖 Generated by [robots](https://vyos.io)
</content>
</entry>
<entry>
<title>security: remediate CodeQL code-scanning alerts (picker XSS sinks, test sanitization, vendored DataTables exclusion)</title>
<updated>2026-07-28T01:29:23+00:00</updated>
<author>
<name>Yuriy Andamasov</name>
<email>yuriy@vyos.io</email>
</author>
<published>2026-07-28T01:06:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-documentation.git/commit/?id=957af46300afc91dee324100d9dc0ad91c4a144f'/>
<id>urn:sha1:957af46300afc91dee324100d9dc0ad91c4a144f</id>
<content type='text'>
Remediates all 11 open CodeQL alerts on the default branch:

- version-picker.js (js/xss-through-dom, alerts 1-3): percent-encode every
  DOM-derived path component (select.value, parsed location segments) at URL
  construction time via encodePath()/langUrlFor(), and tighten the
  parseLocation slug charset to [A-Za-z0-9._-]. No-op on legitimate sphinx
  slugs — URLs stay byte-identical (asserted by tests).

- workers/apex/test/manifest.test.ts (js/incomplete-multi-character-
  sanitization, alert 6): strip HTML comments from the root.html fixture
  repeatedly to a fixpoint instead of a single pass.

- docs/_static/js/datatables.js (alerts 4,5,7-11): excluded from CodeQL
  analysis via .github/codeql/codeql-config.yml (new codeql-cfg-path input
  to the fleet reusable workflow). The file is vendored stock DataTables
  1.11.5; the flagged helpers are display/sort normalization, not
  sanitization boundaries. Excluding keeps the vendored copy byte-identical
  to upstream instead of hand-patching it.

Adds 9 picker tests (hostile-input encoding + slug-charset accept/reject);
workers suite 103/103 green.

🤖 Generated by [robots](https://vyos.io)
</content>
</entry>
<entry>
<title>docs: exclude superpowers/ from the Sphinx build</title>
<updated>2026-07-28T00:13:48+00:00</updated>
<author>
<name>Yuriy Andamasov</name>
<email>yuriy@vyos.io</email>
</author>
<published>2026-07-28T00:13:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-documentation.git/commit/?id=a9dc16aac2a7e7a6e5e4bb1c19897b3d707ba4d1'/>
<id>urn:sha1:a9dc16aac2a7e7a6e5e4bb1c19897b3d707ba4d1</id>
<content type='text'>
`docs/superpowers/` holds Claude Code plugin-generated internal design
specs and plans, not user documentation. Adding `superpowers` to
`exclude_patterns` guards against Sphinx ever picking the directory up
and publishing it should it reappear in the source tree.

Guard only — the content itself was already removed in 3ab97e71 and
abb8be5b.
</content>
</entry>
<entry>
<title>Merge pull request #2152 from BradKollmyer/vyos-api-doc-gaps-T9087-T9092</title>
<updated>2026-07-21T12:41:44+00:00</updated>
<author>
<name>Viacheslav Hletenko</name>
<email>v.gletenko@vyos.io</email>
</author>
<published>2026-07-21T12:41:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-documentation.git/commit/?id=cce3f36602e285a13efe02bf8906f871f04c5ada'/>
<id>urn:sha1:cce3f36602e285a13efe02bf8906f871f04c5ada</id>
<content type='text'>
vyos-api: fill automation API doc gaps (T9087–T9092)</content>
</entry>
<entry>
<title> docs: Update Event handler page to VyOS 1.5 standards (#2130)</title>
<updated>2026-07-20T09:52:42+00:00</updated>
<author>
<name>LiudmylaNad</name>
<email>l.nadolina@vyos.io</email>
</author>
<published>2026-07-20T09:52:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-documentation.git/commit/?id=d08dbfacca29aa1e9750468293dd00910ad775ee'/>
<id>urn:sha1:d08dbfacca29aa1e9750468293dd00910ad775ee</id>
<content type='text'>
* docs: Update Event handler page to VyOS 1.5 standards

* Apply suggestions from code review

Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt;

---------

Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>docs: update flowtable and ethernet/bonding documentation (#2106)</title>
<updated>2026-07-20T09:38:55+00:00</updated>
<author>
<name>jvela-dot</name>
<email>j.vela@vyos.io</email>
</author>
<published>2026-07-20T09:38:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-documentation.git/commit/?id=a0067e0fbc8c3bee2af6701b3542eb013146fcf8'/>
<id>urn:sha1:a0067e0fbc8c3bee2af6701b3542eb013146fcf8</id>
<content type='text'>
* docs: update flowtable and ethernet/bonding documentation

* Removing Netfilter word and add the identification of the interfaces to use FlowTables

* Fixed warning from commit:c433e15

* Update docs/configuration/firewall/flowtables.md

Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt;

* Update docs/configuration/firewall/flowtables.md

Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt;

* Update docs/configuration/firewall/flowtables.md

Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt;

* Update docs/configuration/firewall/flowtables.md

Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt;

* cfgmc structure and sub-interface offload fixed

* Fixed conflicts on flowtable documentation

* revert ethernet.md and fixed the latest infos

* added subsection to the checks section to show offloaded traffic for sub-interfaces

* Final changes

* Changed conntrack -L to VyOS command

* Replacing new output description with VyOS command

---------

Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>vyos-api: T9087: T9092: apply review feedback (line length, retry safety)</title>
<updated>2026-07-14T21:08:40+00:00</updated>
<author>
<name>Brad Kollmyer</name>
<email>bradk@vitalsoft.com</email>
</author>
<published>2026-07-14T21:08:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-documentation.git/commit/?id=2510eefadc8e7520e7f85f45a2b29fdab634474a'/>
<id>urn:sha1:2510eefadc8e7520e7f85f45a2b29fdab634474a</id>
<content type='text'>
Convert the multi-field-node table to wrapped list items per the 80-char
docs guideline, and rework the bulk-apply bullet to reconcile state
before retrying after a timeout instead of recommending blind retries.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>vyos-api: T9087: tighten firewall same-request wording (review feedback)</title>
<updated>2026-07-14T21:00:18+00:00</updated>
<author>
<name>Brad Kollmyer</name>
<email>bradk@vitalsoft.com</email>
</author>
<published>2026-07-14T21:00:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-documentation.git/commit/?id=9e90088827c53f8d61e82e2e29910a9346009e87'/>
<id>urn:sha1:9e90088827c53f8d61e82e2e29910a9346009e87</id>
<content type='text'>
Only port/port-group require protocol in the same request; description
alone is fine on an existing rule but fails on a rule no request has
created yet.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>vyos-api: T9092: add bulk configuration guidance</title>
<updated>2026-07-14T20:50:41+00:00</updated>
<author>
<name>Brad Kollmyer</name>
<email>bradk@vitalsoft.com</email>
</author>
<published>2026-07-14T20:50:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-documentation.git/commit/?id=af04731c74b0383bc36c66addd6cc22ba41c55e0'/>
<id>urn:sha1:af04731c74b0383bc36c66addd6cc22ba41c55e0</id>
<content type='text'>
Batch sizing, geoip/remote-group commit cost, the 1 MB
request-body-size-limit, and commit-confirm as a remote safety net.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
