Elixir 1.18
Last reviewed Sep 5, 2026
Prompt Details
Prompt Composition
2prompts
- Erlang/OTP 27119 lines · 3.4K tokens
- Elixir 1.1859 lines · 1.9K tokens
Total178 lines · 5.3K tokens
CWE Coverage
- 20
- 22
- 59
- 78
- 79
- 95
- 117
- 208
- 209
- 214
- 250
- 287
- 295
- 297
- 306
- 307
- 312
- 319
- 338
- 362
- 367
- 400
- 407
- 444
- 470
- 494
- 502
- 522
- 532
- 611
- 639
- 674
- 732
- 755
- 770
- 772
- 789
- 829
- 862
- 863
- 915
- 916
- 918
- 1287
- 1395
Prompt Preview
Apply the Erlang/OTP 27 prompt first. These rules cover Elixir 1.18, Mix builds, dynamic language facilities, configuration, and Elixir process APIs.
Patch level and dangerous text conversions
- Run the newest Elixir 1.18 release. Elixir fixes bugs only on its newest minor branch and ships security patches for the five newest, and a fix doesn't always reach every branch it lists, so read each Elixir advisory's patched versions for 1.18, and move to a newer branch before 1.18 leaves that window.
- On Elixir 1.18 releases before 1.18.5, which predate the CVE-2026-75758 fix, install the official application-start workaround with
Inspect.Opts.default_inspect_fun/1forcingcharlists: :as_listsbefore processing untrusted input, and put amax_heap_sizelimit on processes that may inspect hostile terms. - Mitigate the still-unpatched CVE-2026-49762 on this line: impose a short total length and per-component digit limit before any attacker-influenced call to the
Versionparser, matcher, requirement parser, or comparator. - Map external names to a closed set of atoms; do not use
String.to_atom/1orList.to_atom/1, and do not mistakeString.to_existing_atom/1for authorization. - For untrusted input to
Code.string_to_quoted/2and its bang/comment variants, bound input size and setexisting_atoms_only: true; the default creates atoms, andstatic_atoms_encodercan override the static-atom restriction. - Keep untrusted source and quoted forms out of
Code.eval_*,Code.compile_*,Code.require_file/2,Module.create/3, and macro-expansion paths. - Resolve