CVE-2022-24803
Command Injection vulnerability in asciidoctor-include-ext
Asciidoctor-include-ext is Asciidoctor’s standard include processor reimplemented as an extension. Versions prior to 0.4.0, when used to render user-supplied input in AsciiDoc markup, may allow an attacker to execute arbitrary system commands on the host operating system. This attack is possible even when allow-uri-read is disabled! The problem has been patched in the referenced commits.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
10.0
Command Injection vulnerability in asciidoctor-include-ext
Asciidoctor-include-ext is Asciidoctor’s standard include processor reimplemented as an extension. Versions prior to 0.4.0, when used to render user-supplied input in AsciiDoc markup, may allow an attacker to execute arbitrary system commands on the host operating system. This attack is possible even when allow-uri-read is disabled! The problem has been patched in the referenced commits.
- Record
CVE-2022-24803- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-78
- Updated
- 2026-11-02
EUVDEUVD-2022-1539
10.0
Asciidoctor-include-ext is Asciidoctor’s standard include processor reimplemented as an extension. Versions prior to 0.4.0, when used to render user-supplied input in AsciiDoc markup, may allow an attacker to execute arbitrary system commands on the host operating system. This attack is possible even when allow-uri-read is disabled! The problem has been patched in the referenced commits.
- Record
EUVD-2022-1539- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-v222-6mr4-qj29
10.0
Command Injection vulnerability in asciidoctor-include-ext
Impact
Applications using Asciidoctor (Ruby) with asciidoctor-include-ext (prior to version 0.4.0), which render user-supplied input in AsciiDoc markup, may allow an attacker to execute arbitrary system commands on the host operating system. This attack is possible even when (EDIT: it’s not)allow-uri-read is disabled!
Patches
The vulnerability has been fixed in commit c7ea001 (and further improved in cbaccf3), which is included in version 0.4.0.
Workarounds
require 'asciidoctor/include_ext'
class Asciidoctor::IncludeExt::IncludeProcessor
# Overrides superclass private method to mitigate Command Injection
# vulnerability in asciidoctor-include-ext <0.4.0.
def target_uri?(target)
target.downcase.start_with?('http://', 'https://') \
&& URI.parse(target).is_a?(URI::HTTP)
rescue URI::InvalidURIError
false
end
end
References
Credits
This vulnerability was discovered by Joern Schneeweisz from the GitLab Security Research Team.
For more information
See commit message c7ea001.
If you have any questions or comments about this advisory open an issue in jirutka/asciidoctor-include-ext.
- Record
GHSA-v222-6mr4-qj29- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-78
- Updated
- 2026-11-02
NVD
10.0
Asciidoctor-include-ext is Asciidoctor’s standard include processor reimplemented as an extension. Versions prior to 0.4.0, when used to render user-supplied input in AsciiDoc markup, may allow an attacker to execute arbitrary system commands on the host operating system. This attack is possible even when allow-uri-read is disabled! The problem has been patched in the referenced commits.
- Record
CVE-2022-24803- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 10.0 High
AV:N/AC:L/Au:N/C:C/I:C/A:C - Weakness
- CWE-78
- Updated
- 2026-11-02
OSV
10.0
Command Injection vulnerability in asciidoctor-include-ext
Asciidoctor-include-ext is Asciidoctor’s standard include processor reimplemented as an extension. Versions prior to 0.4.0, when used to render user-supplied input in AsciiDoc markup, may allow an attacker to execute arbitrary system commands on the host operating system. This attack is possible even when allow-uri-read is disabled! The problem has been patched in the referenced commits.
- Record
CVE-2022-24803- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-78
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2022-24803
9.8
Asciidoctor-include-ext is Asciidoctor’s standard include processor reimplemented as an extension. Versions prior to 0.4.0, when used to render user-supplied input in AsciiDoc markup, may allow an attacker to execute arbitrary system commands on the host operating system. This attack is possible even when allow-uri-read is disabled! The problem has been patched in the referenced commits.
- Record
DEBIAN-CVE-2022-24803- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-03
OSVGHSA-v222-6mr4-qj29
10.0
Command Injection vulnerability in asciidoctor-include-ext
Impact
Applications using Asciidoctor (Ruby) with asciidoctor-include-ext (prior to version 0.4.0), which render user-supplied input in AsciiDoc markup, may allow an attacker to execute arbitrary system commands on the host operating system. This attack is possible even when (EDIT: it’s not)allow-uri-read is disabled!
Patches
The vulnerability has been fixed in commit c7ea001 (and further improved in cbaccf3), which is included in version 0.4.0.
Workarounds
require 'asciidoctor/include_ext'
class Asciidoctor::IncludeExt::IncludeProcessor
# Overrides superclass private method to mitigate Command Injection
# vulnerability in asciidoctor-include-ext <0.4.0.
def target_uri?(target)
target.downcase.start_with?('http://', 'https://') \
&& URI.parse(target).is_a?(URI::HTTP)
rescue URI::InvalidURIError
false
end
end
References
Credits
This vulnerability was discovered by Joern Schneeweisz from the GitLab Security Research Team.
For more information
See commit message c7ea001.
If you have any questions or comments about this advisory open an issue in jirutka/asciidoctor-include-ext.
- Record
GHSA-v222-6mr4-qj29- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-78
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2022-24803
10.0
Asciidoctor-include-ext is Asciidoctor’s standard include processor reimplemented as an extension. Versions prior to 0.4.0, when used to render user-supplied input in AsciiDoc markup, may allow an attacker to execute arbitrary system commands on the host operating system. This attack is possible even when allow-uri-read is disabled! The problem has been patched in the referenced commits.
- Record
UBUNTU-CVE-2022-24803- CVSS 3.1
- 10.0 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-04
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
asciidoctor-include-extRubyGems |
before 0.4.0 | 0.4.0 |
ruby-asciidoctor-include-extDebian:12 |
before 0.4.0-2 | 0.4.0-2 |
ruby-asciidoctor-include-extDebian:13 |
before 0.4.0-2 | 0.4.0-2 |
ruby-asciidoctor-include-extDebian:14 |
before 0.4.0-2 | 0.4.0-2 |
asciidoctor-include-extRubyGems |
before 0.4.0, plus listed versions 0.1.00.1.10.2.00.3.00.3.1 |
0.4.0 |
ruby-asciidoctor-include-extUbuntu:20.04:LTS |
All versions, plus listed versions 0.3.1-2 |
None known |
ruby-asciidoctor-include-extUbuntu:22.04:LTS |
All versions, plus listed versions 0.3.1-2 |
None known |
ruby-asciidoctor-include-extUbuntu:25.10 |
All versions, plus listed versions 0.4.0+gh-1 |
None known |
ruby-asciidoctor-include-extUbuntu:26.10 |
All versions, plus listed versions 0.4.0+gh-10.4.0+gh-2 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2022-24803 is a critical vulnerability (CVSS 10.0) in Asciidoctor-include-ext Project Asciidoctor-include-ext, published March 31, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.69%, the 85th percentile. Fixed in asciidoctor-include-ext 0.4.0.
References
github.com/jirutka/asciidoctor-include-ext/security/advisories/GHSA-v222-6mr4-qj29
github.com/jirutka/asciidoctor-include-ext/commit/c7ea001a597c7033575342c51483dab7b87ae155
github.com/jirutka/asciidoctor-include-ext/commit/cbaccf3de533cbca224bf61d0b74e4b84d41d8ee
nvd.nist.gov/vuln/detail/CVE-2022-24803
github.com/rubysec/ruby-advisory-db/blob/master/gems/asciidoctor-include-ext/CVE-2022-24803.yml
github.com/advisories/GHSA-v222-6mr4-qj29