€•ÙóŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ)/translations/zh_CN/process/security-bugs”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/zh_TW/process/security-bugs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/it_IT/process/security-bugs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/ja_JP/process/security-bugs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/ko_KR/process/security-bugs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/pt_BR/process/security-bugs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/sp_SP/process/security-bugs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒtarget”“”)”}”(hŒ.. _securitybugs:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œ securitybugs”uh1hµh´Khhh²hh³ŒC/var/lib/git/docbuild/linux/Documentation/process/security-bugs.rst”ubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ Security bugs”h]”hŒ Security bugs”…””}”(hhËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhhÆh²hh³hÃh´KubhŒ paragraph”“”)”}”(hŒ¬Linux kernel developers take security very seriously. As such, we'd like to know when a security bug is found so that it can be fixed and disclosed as quickly as possible.”h]”hŒ®Linux kernel developers take security very seriously. As such, we’d like to know when a security bug is found so that it can be fixed and disclosed as quickly as possible.”…””}”(hhÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KhhÆh²hubhÅ)”}”(hhh]”(hÊ)”}”(hŒPreparing your report”h]”hŒPreparing your report”…””}”(hhìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhhéh²hh³hÃh´K ubhÚ)”}”(hX‰Like with any bug report, a security bug report requires a lot of analysis work from the developers, so the more information you can share about the issue, the better. Please review the procedure outlined in Documentation/admin-guide/reporting-issues.rst if you are unclear about what information is helpful. The following information are absolutely necessary in **any** security bug report:”h]”(hXmLike with any bug report, a security bug report requires a lot of analysis work from the developers, so the more information you can share about the issue, the better. Please review the procedure outlined in Documentation/admin-guide/reporting-issues.rst if you are unclear about what information is helpful. The following information are absolutely necessary in ”…””}”(hhúh²hh³Nh´NubhŒstrong”“”)”}”(hŒ**any**”h]”hŒany”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhhúubhŒ security bug report:”…””}”(hhúh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K hhéh²hubhŒ block_quote”“”)”}”(hXn* **affected kernel version range**: with no version indication, your report will not be processed. A significant part of reports are for bugs that have already been fixed, so it is extremely important that vulnerabilities are verified on recent versions (development tree or latest stable version), at least by verifying that the code has not changed since the version where it was detected. * **description of the problem**: a detailed description of the problem, with traces showing its manifestation, and why you consider that the observed behavior as a problem in the kernel, is necessary. * **reproducer**: developers will need to be able to reproduce the problem to consider a fix as effective. This includes both a way to trigger the issue and a way to confirm it happens. A reproducer with low complexity dependencies will be needed (source code, shell script, sequence of instructions, file-system image etc). Binary-only executables are not accepted. Working exploits are extremely helpful and will not be released without consent from the reporter, unless they are already public. By definition if an issue cannot be reproduced, it is not exploitable, thus it is not a security bug. * **conditions**: if the bug depends on certain configuration options, sysctls, permissions, timing, code modifications etc, these should be indicated. ”h]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hXˆ**affected kernel version range**: with no version indication, your report will not be processed. A significant part of reports are for bugs that have already been fixed, so it is extremely important that vulnerabilities are verified on recent versions (development tree or latest stable version), at least by verifying that the code has not changed since the version where it was detected. ”h]”hÚ)”}”(hX‡**affected kernel version range**: with no version indication, your report will not be processed. A significant part of reports are for bugs that have already been fixed, so it is extremely important that vulnerabilities are verified on recent versions (development tree or latest stable version), at least by verifying that the code has not changed since the version where it was detected.”h]”(j)”}”(hŒ!**affected kernel version range**”h]”hŒaffected kernel version range”…””}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj-ubhXf: with no version indication, your report will not be processed. A significant part of reports are for bugs that have already been fixed, so it is extremely important that vulnerabilities are verified on recent versions (development tree or latest stable version), at least by verifying that the code has not changed since the version where it was detected.”…””}”(hj-h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Khj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hj$ubj()”}”(hŒÈ**description of the problem**: a detailed description of the problem, with traces showing its manifestation, and why you consider that the observed behavior as a problem in the kernel, is necessary. ”h]”hÚ)”}”(hŒÇ**description of the problem**: a detailed description of the problem, with traces showing its manifestation, and why you consider that the observed behavior as a problem in the kernel, is necessary.”h]”(j)”}”(hŒ**description of the problem**”h]”hŒdescription of the problem”…””}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjSubhŒ©: a detailed description of the problem, with traces showing its manifestation, and why you consider that the observed behavior as a problem in the kernel, is necessary.”…””}”(hjSh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KhjOubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hj$ubj()”}”(hX[**reproducer**: developers will need to be able to reproduce the problem to consider a fix as effective. This includes both a way to trigger the issue and a way to confirm it happens. A reproducer with low complexity dependencies will be needed (source code, shell script, sequence of instructions, file-system image etc). Binary-only executables are not accepted. Working exploits are extremely helpful and will not be released without consent from the reporter, unless they are already public. By definition if an issue cannot be reproduced, it is not exploitable, thus it is not a security bug. ”h]”hÚ)”}”(hXZ**reproducer**: developers will need to be able to reproduce the problem to consider a fix as effective. This includes both a way to trigger the issue and a way to confirm it happens. A reproducer with low complexity dependencies will be needed (source code, shell script, sequence of instructions, file-system image etc). Binary-only executables are not accepted. Working exploits are extremely helpful and will not be released without consent from the reporter, unless they are already public. By definition if an issue cannot be reproduced, it is not exploitable, thus it is not a security bug.”h]”(j)”}”(hŒ**reproducer**”h]”hŒ reproducer”…””}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjyubhXL: developers will need to be able to reproduce the problem to consider a fix as effective. This includes both a way to trigger the issue and a way to confirm it happens. A reproducer with low complexity dependencies will be needed (source code, shell script, sequence of instructions, file-system image etc). Binary-only executables are not accepted. Working exploits are extremely helpful and will not be released without consent from the reporter, unless they are already public. By definition if an issue cannot be reproduced, it is not exploitable, thus it is not a security bug.”…””}”(hjyh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Khjuubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hj$ubj()”}”(hŒ–**conditions**: if the bug depends on certain configuration options, sysctls, permissions, timing, code modifications etc, these should be indicated. ”h]”hÚ)”}”(hŒ•**conditions**: if the bug depends on certain configuration options, sysctls, permissions, timing, code modifications etc, these should be indicated.”h]”(j)”}”(hŒ**conditions**”h]”hŒ conditions”…””}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŸubhŒ‡: if the bug depends on certain configuration options, sysctls, permissions, timing, code modifications etc, these should be indicated.”…””}”(hjŸh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K)hj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hj$ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1j"h³hÃh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÃh´Khhéh²hubhÚ)”}”(hŒ (maintainer:example driver) Developer Two (maintainer:example driver)”h]”hŒÍ$ ./scripts/get_maintainer.pl --no-l --no-r --pattern-depth 1 \ drivers/example.c Developer One (maintainer:example driver) Developer Two (maintainer:example driver)”…””}”hj:sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j8h³hÃh´K…hjýh²hubhÚ)”}”(hŒ¹These two maintainers should then receive the message. If the command does not return anything, it means the affected file is part of a wider subsystem, so we should be less specific::”h]”hŒ¸These two maintainers should then receive the message. If the command does not return anything, it means the affected file is part of a wider subsystem, so we should be less specific:”…””}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KŠhjýh²hubj9)”}”(hXT$ ./scripts/get_maintainer.pl --no-l --no-r drivers/example.c Developer One (maintainer:example subsystem) Developer Two (maintainer:example subsystem) Developer Three (maintainer:example subsystem [GENERAL]) Developer Four (maintainer:example subsystem [GENERAL])”h]”hXT$ ./scripts/get_maintainer.pl --no-l --no-r drivers/example.c Developer One (maintainer:example subsystem) Developer Two (maintainer:example subsystem) Developer Three (maintainer:example subsystem [GENERAL]) Developer Four (maintainer:example subsystem [GENERAL])”…””}”hjXsbah}”(h]”h ]”h"]”h$]”h&]”jHjIuh1j8h³hÃh´KŽhjýh²hubhÚ)”}”(hŒÞHere, picking the first, most specific ones, is sufficient. When the list is long, it is possible to produce a comma-delimited e-mail address list on a single line suitable for use in the To: field of a mailer like this::”h]”hŒÝHere, picking the first, most specific ones, is sufficient. When the list is long, it is possible to produce a comma-delimited e-mail address list on a single line suitable for use in the To: field of a mailer like this:”…””}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K”hjýh²hubj9)”}”(hŒÎ$ ./scripts/get_maintainer.pl --no-tree --no-l --no-r --no-n --m \ --no-git-fallback --no-substatus --no-rolestats --no-multiline \ --pattern-depth 1 drivers/example.c dev1@example.com, dev2@example.org”h]”hŒÎ$ ./scripts/get_maintainer.pl --no-tree --no-l --no-r --no-n --m \ --no-git-fallback --no-substatus --no-rolestats --no-multiline \ --pattern-depth 1 drivers/example.c dev1@example.com, dev2@example.org”…””}”hjtsbah}”(h]”h ]”h"]”h$]”h&]”jHjIuh1j8h³hÃh´K˜hjýh²hubhÚ)”}”(hŒor this for the wider list::”h]”hŒor this for the wider list:”…””}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Khjýh²hubj9)”}”(hŒà$ ./scripts/get_maintainer.pl --no-tree --no-l --no-r --no-n --m \ --no-git-fallback --no-substatus --no-rolestats --no-multiline \ drivers/example.c dev1@example.com, dev2@example.org, dev3@example.com, dev4@example.org”h]”hŒà$ ./scripts/get_maintainer.pl --no-tree --no-l --no-r --no-n --m \ --no-git-fallback --no-substatus --no-rolestats --no-multiline \ drivers/example.c dev1@example.com, dev2@example.org, dev3@example.com, dev4@example.org”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”jHjIuh1j8h³hÃh´KŸhjýh²hubhÚ)”}”(hXcIf at this point you're still facing difficulties spotting the right maintainers, **and only in this case**, it's possible to send your report to the Linux kernel security team only. Your message will be triaged, and you will receive instructions about whom to contact, if needed. Your message may equally be forwarded as-is to the relevant maintainers.”h]”(hŒTIf at this point you’re still facing difficulties spotting the right maintainers, ”…””}”(hjžh²hh³Nh´Nubj)”}”(hŒ**and only in this case**”h]”hŒand only in this case”…””}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjžubhŒú, it’s possible to send your report to the Linux kernel security team only. Your message will be triaged, and you will receive instructions about whom to contact, if needed. Your message may equally be forwarded as-is to the relevant maintainers.”…””}”(hjžh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K¤hjýh²hubeh}”(h]”Œidentifying-contacts”ah ]”h"]”Œidentifying contacts”ah$]”h&]”uh1hÄhhÆh²hh³hÃh´KjubhÅ)”}”(hhh]”(hÊ)”}”(hŒ"Responsible use of AI to find bugs”h]”hŒ"Responsible use of AI to find bugs”…””}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhjÆh²hh³hÃh´K«ubhÚ)”}”(hXÖA significant fraction of bug reports submitted to the security team are actually the result of code reviews assisted by AI tools. While this can be an efficient means to find bugs in rarely explored areas, it causes an overload on maintainers, who are sometimes forced to ignore such reports due to their poor quality or accuracy. As such, reporters must be particularly cautious about a number of points which tend to make these reports needlessly difficult to handle:”h]”hXÖA significant fraction of bug reports submitted to the security team are actually the result of code reviews assisted by AI tools. While this can be an efficient means to find bugs in rarely explored areas, it causes an overload on maintainers, who are sometimes forced to ignore such reports due to their poor quality or accuracy. As such, reporters must be particularly cautious about a number of points which tend to make these reports needlessly difficult to handle:”…””}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K­hjÆh²hubj)”}”(hXv* **Length**: AI-generated reports tend to be excessively long, containing multiple sections and excessive detail. This makes it difficult to spot important information such as affected files, versions, and impact. Please ensure that a clear summary of the problem and all critical details are presented first. Do not require triage engineers to scan multiple pages of text. Configure your tools to produce concise, human-style reports. * **Formatting**: Most AI-generated reports are littered with Markdown tags. These decorations complicate the search for important information and do not survive the quoting processes involved in forwarding or replying. Please **always convert your report to plain text** without any formatting decorations before sending it. * **Impact Evaluation**: Many AI-generated reports lack an understanding of the kernel's threat model (see Documentation/process/threat-model.rst) and go to great lengths inventing theoretical consequences. This adds noise and complicates triage. Please stick to verifiable facts (e.g., "this bug permits any user to gain CAP_NET_ADMIN") without enumerating speculative implications. Have your tool read this documentation as part of the evaluation process. * **Reproducer**: AI-based tools are often capable of generating reproducers. Please always ensure your tool provides one and **test it thoroughly**. If the reproducer does not work, or if the tool cannot produce one, the validity of the report should be seriously questioned. Note that since the report will be posted to a public list, the reproducer should only be shared upon maintainers' request. * **Propose a Fix**: Many AI tools are actually better at writing code than evaluating it. Please ask your tool to propose a fix and **test it** before reporting the problem. If the fix cannot be tested because it relies on rare hardware or almost extinct network protocols, the issue is likely not a security bug. In any case, if a fix is proposed, it must adhere to Documentation/process/submitting-patches.rst and include a 'Fixes:' tag designating the commit that introduced the bug. ”h]”j#)”}”(hhh]”(j()”}”(hX³**Length**: AI-generated reports tend to be excessively long, containing multiple sections and excessive detail. This makes it difficult to spot important information such as affected files, versions, and impact. Please ensure that a clear summary of the problem and all critical details are presented first. Do not require triage engineers to scan multiple pages of text. Configure your tools to produce concise, human-style reports. ”h]”hÚ)”}”(hX²**Length**: AI-generated reports tend to be excessively long, containing multiple sections and excessive detail. This makes it difficult to spot important information such as affected files, versions, and impact. Please ensure that a clear summary of the problem and all critical details are presented first. Do not require triage engineers to scan multiple pages of text. Configure your tools to produce concise, human-style reports.”h]”(j)”}”(hŒ **Length**”h]”hŒLength”…””}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjðubhX¨: AI-generated reports tend to be excessively long, containing multiple sections and excessive detail. This makes it difficult to spot important information such as affected files, versions, and impact. Please ensure that a clear summary of the problem and all critical details are presented first. Do not require triage engineers to scan multiple pages of text. Configure your tools to produce concise, human-style reports.”…””}”(hjðh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Kµhjìubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hjéubj()”}”(hXD**Formatting**: Most AI-generated reports are littered with Markdown tags. These decorations complicate the search for important information and do not survive the quoting processes involved in forwarding or replying. Please **always convert your report to plain text** without any formatting decorations before sending it. ”h]”hÚ)”}”(hXC**Formatting**: Most AI-generated reports are littered with Markdown tags. These decorations complicate the search for important information and do not survive the quoting processes involved in forwarding or replying. Please **always convert your report to plain text** without any formatting decorations before sending it.”h]”(j)”}”(hŒ**Formatting**”h]”hŒ Formatting”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubhŒÓ: Most AI-generated reports are littered with Markdown tags. These decorations complicate the search for important information and do not survive the quoting processes involved in forwarding or replying. Please ”…””}”(hjh²hh³Nh´Nubj)”}”(hŒ,**always convert your report to plain text**”h]”hŒ(always convert your report to plain text”…””}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubhŒ6 without any formatting decorations before sending it.”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´K¼hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hjéubj()”}”(hXÈ**Impact Evaluation**: Many AI-generated reports lack an understanding of the kernel's threat model (see Documentation/process/threat-model.rst) and go to great lengths inventing theoretical consequences. This adds noise and complicates triage. Please stick to verifiable facts (e.g., "this bug permits any user to gain CAP_NET_ADMIN") without enumerating speculative implications. Have your tool read this documentation as part of the evaluation process. ”h]”hÚ)”}”(hXÇ**Impact Evaluation**: Many AI-generated reports lack an understanding of the kernel's threat model (see Documentation/process/threat-model.rst) and go to great lengths inventing theoretical consequences. This adds noise and complicates triage. Please stick to verifiable facts (e.g., "this bug permits any user to gain CAP_NET_ADMIN") without enumerating speculative implications. Have your tool read this documentation as part of the evaluation process.”h]”(j)”}”(hŒ**Impact Evaluation**”h]”hŒImpact Evaluation”…””}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjNubhX¸: Many AI-generated reports lack an understanding of the kernel’s threat model (see Documentation/process/threat-model.rst) and go to great lengths inventing theoretical consequences. This adds noise and complicates triage. Please stick to verifiable facts (e.g., “this bug permits any user to gain CAP_NET_ADMINâ€) without enumerating speculative implications. Have your tool read this documentation as part of the evaluation process.”…””}”(hjNh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KÂhjJubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hjéubj()”}”(hX**Reproducer**: AI-based tools are often capable of generating reproducers. Please always ensure your tool provides one and **test it thoroughly**. If the reproducer does not work, or if the tool cannot produce one, the validity of the report should be seriously questioned. Note that since the report will be posted to a public list, the reproducer should only be shared upon maintainers' request. ”h]”hÚ)”}”(hXŽ**Reproducer**: AI-based tools are often capable of generating reproducers. Please always ensure your tool provides one and **test it thoroughly**. If the reproducer does not work, or if the tool cannot produce one, the validity of the report should be seriously questioned. Note that since the report will be posted to a public list, the reproducer should only be shared upon maintainers' request.”h]”(j)”}”(hŒ**Reproducer**”h]”hŒ Reproducer”…””}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjtubhŒn: AI-based tools are often capable of generating reproducers. Please always ensure your tool provides one and ”…””}”(hjth²hh³Nh´Nubj)”}”(hŒ**test it thoroughly**”h]”hŒtest it thoroughly”…””}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjtubhŒþ. If the reproducer does not work, or if the tool cannot produce one, the validity of the report should be seriously questioned. Note that since the report will be posted to a public list, the reproducer should only be shared upon maintainers’ request.”…””}”(hjth²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KÊhjpubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hjéubj()”}”(hXæ**Propose a Fix**: Many AI tools are actually better at writing code than evaluating it. Please ask your tool to propose a fix and **test it** before reporting the problem. If the fix cannot be tested because it relies on rare hardware or almost extinct network protocols, the issue is likely not a security bug. In any case, if a fix is proposed, it must adhere to Documentation/process/submitting-patches.rst and include a 'Fixes:' tag designating the commit that introduced the bug. ”h]”hÚ)”}”(hXå**Propose a Fix**: Many AI tools are actually better at writing code than evaluating it. Please ask your tool to propose a fix and **test it** before reporting the problem. If the fix cannot be tested because it relies on rare hardware or almost extinct network protocols, the issue is likely not a security bug. In any case, if a fix is proposed, it must adhere to Documentation/process/submitting-patches.rst and include a 'Fixes:' tag designating the commit that introduced the bug.”h]”(j)”}”(hŒ**Propose a Fix**”h]”hŒ Propose a Fix”…””}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¬ubhŒr: Many AI tools are actually better at writing code than evaluating it. Please ask your tool to propose a fix and ”…””}”(hj¬h²hh³Nh´Nubj)”}”(hŒ **test it**”h]”hŒtest it”…””}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¬ubhX[ before reporting the problem. If the fix cannot be tested because it relies on rare hardware or almost extinct network protocols, the issue is likely not a security bug. In any case, if a fix is proposed, it must adhere to Documentation/process/submitting-patches.rst and include a ‘Fixes:’ tag designating the commit that introduced the bug.”…””}”(hj¬h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KÑhj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hjéubeh}”(h]”h ]”h"]”h$]”h&]”jÇjÈuh1j"h³hÃh´Kµhjåubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÃh´KµhjÆh²hubhÚ)”}”(hŒRFailure to consider these points exposes your report to the risk of being ignored.”h]”hŒRFailure to consider these points exposes your report to the risk of being ignored.”…””}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KÙhjÆh²hubhÚ)”}”(hX÷Use common sense when evaluating the report. If the affected file has not been touched for more than one year and is maintained by a single individual, it is likely that usage has declined and exposed users are virtually non-existent (e.g., drivers for very old hardware, obsolete filesystems). In such cases, there is no need to consume a maintainer's time with an unimportant report. If the issue is clearly trivial and publicly discoverable, you should report it directly to the public mailing lists.”h]”hXùUse common sense when evaluating the report. If the affected file has not been touched for more than one year and is maintained by a single individual, it is likely that usage has declined and exposed users are virtually non-existent (e.g., drivers for very old hardware, obsolete filesystems). In such cases, there is no need to consume a maintainer’s time with an unimportant report. If the issue is clearly trivial and publicly discoverable, you should report it directly to the public mailing lists.”…””}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´KÜhjÆh²hubeh}”(h]”Œ"responsible-use-of-ai-to-find-bugs”ah ]”h"]”Œ"responsible use of ai to find bugs”ah$]”h&]”uh1hÄhhÆh²hh³hÃh´K«ubhÅ)”}”(hhh]”(hÊ)”}”(hŒSending the report”h]”hŒSending the report”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhjh²hh³hÃh´KåubhÚ)”}”(hŒÑReports are to be sent over e-mail exclusively. Please use a working e-mail address, preferably the same that you want to appear in ``Reported-by`` tags if any. If unsure, send your report to yourself first.”h]”(hŒ…Reports are to be sent over e-mail exclusively. Please use a working e-mail address, preferably the same that you want to appear in ”…””}”(hj!h²hh³Nh´Nubj%)”}”(hŒ``Reported-by``”h]”hŒ Reported-by”…””}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j$hj!ubhŒ= tags if any. If unsure, send your report to yourself first.”…””}”(hj!h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Kçhjh²hubhÚ)”}”(hXeThe security team and maintainers almost always require additional information beyond what was initially provided in a report and rely on active and efficient collaboration with the reporter to perform further testing (e.g., verifying versions, configuration options, mitigations, or patches). Before contacting the security team, the reporter must ensure they are available to explain their findings, engage in discussions, and run additional tests. Reports where the reporter does not respond promptly or cannot effectively discuss their findings may be abandoned if the communication does not quickly improve.”h]”hXeThe security team and maintainers almost always require additional information beyond what was initially provided in a report and rely on active and efficient collaboration with the reporter to perform further testing (e.g., verifying versions, configuration options, mitigations, or patches). Before contacting the security team, the reporter must ensure they are available to explain their findings, engage in discussions, and run additional tests. Reports where the reporter does not respond promptly or cannot effectively discuss their findings may be abandoned if the communication does not quickly improve.”…””}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Këhjh²hubhÚ)”}”(hXÓThe report must be sent to maintainers. If there are two or fewer recipients in your message, you must also always Cc: the Linux kernel security team who will ensure the message is delivered to the proper people, and will be able to assist small maintainer teams with processes they may not be familiar with. For larger teams, Cc: the Linux kernel security team for your first few reports or when seeking specific help, such as when resending a message which got no response within a week. Once you have become comfortable with the process for a few reports, it is no longer necessary to Cc: the security list when sending to large teams. The Linux kernel security team can be contacted by email at . This is a private list of security officers who will help verify the bug report and assist developers working on a fix. It is possible that the security team will bring in extra help from area maintainers to understand and fix the security vulnerability.”h]”(hX¾The report must be sent to maintainers. If there are two or fewer recipients in your message, you must also always Cc: the Linux kernel security team who will ensure the message is delivered to the proper people, and will be able to assist small maintainer teams with processes they may not be familiar with. For larger teams, Cc: the Linux kernel security team for your first few reports or when seeking specific help, such as when resending a message which got no response within a week. Once you have become comfortable with the process for a few reports, it is no longer necessary to Cc: the security list when sending to large teams. The Linux kernel security team can be contacted by email at <”…””}”(hjOh²hh³Nh´NubhŒ reference”“”)”}”(hŒsecurity@kernel.org”h]”hŒsecurity@kernel.org”…””}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:security@kernel.org”uh1jWhjOubhX>. This is a private list of security officers who will help verify the bug report and assist developers working on a fix. It is possible that the security team will bring in extra help from area maintainers to understand and fix the security vulnerability.”…””}”(hjOh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Kõhjh²hubhÚ)”}”(hX6Please send **plain text** emails without attachments where possible. It is much harder to have a context-quoted discussion about a complex issue if all the details are hidden away in attachments. Think of it like a :doc:`regular patch submission <../process/submitting-patches>` (even if you don't have a patch yet): describe the problem and impact, list reproduction steps, and follow it with a proposed fix, all in plain text. Markdown, HTML and RST formatted reports are particularly frowned upon since they're quite hard to read for humans and encourage to use dedicated viewers, sometimes online, which by definition is not acceptable for a confidential security report. Note that some mailers tend to mangle formatting of plain text by default, please consult Documentation/process/email-clients.rst for more info.”h]”(hŒ Please send ”…””}”(hjsh²hh³Nh´Nubj)”}”(hŒ**plain text**”h]”hŒ plain text”…””}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjsubhŒ¿ emails without attachments where possible. It is much harder to have a context-quoted discussion about a complex issue if all the details are hidden away in attachments. Think of it like a ”…””}”(hjsh²hh³Nh´Nubh)”}”(hŒ?:doc:`regular patch submission <../process/submitting-patches>`”h]”hŒinline”“”)”}”(hjh]”hŒregular patch submission”…””}”(hj“h²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-doc”eh"]”h$]”h&]”uh1j‘hjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œprocess/security-bugs”Œ refdomain”jžŒreftype”Œdoc”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œ../process/submitting-patches”uh1hh³hÃh´MhjsubhX" (even if you don’t have a patch yet): describe the problem and impact, list reproduction steps, and follow it with a proposed fix, all in plain text. Markdown, HTML and RST formatted reports are particularly frowned upon since they’re quite hard to read for humans and encourage to use dedicated viewers, sometimes online, which by definition is not acceptable for a confidential security report. Note that some mailers tend to mangle formatting of plain text by default, please consult Documentation/process/email-clients.rst for more info.”…””}”(hjsh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´Mhjh²hubeh}”(h]”Œsending-the-report”ah ]”h"]”Œsending the report”ah$]”h&]”uh1hÄhhÆh²hh³hÃh´KåubhÅ)”}”(hhh]”(hÊ)”}”(hŒ$Disclosure and embargoed information”h]”hŒ$Disclosure and embargoed information”…””}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhjÄh²hh³hÃh´MubhÚ)”}”(hŒQThe security list is not a disclosure channel. For that, see Coordination below.”h]”hŒQThe security list is not a disclosure channel. For that, see Coordination below.”…””}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´MhjÄh²hubhÚ)”}”(hŒzOnce a robust fix has been developed, the release process starts. Fixes for publicly known bugs are released immediately.”h]”hŒzOnce a robust fix has been developed, the release process starts. Fixes for publicly known bugs are released immediately.”…””}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´MhjÄh²hubhÚ)”}”(hX Although our preference is to release fixes for publicly undisclosed bugs as soon as they become available, this may be postponed at the request of the reporter or an affected party for up to 7 calendar days from the start of the release process, with an exceptional extension to 14 calendar days if it is agreed that the criticality of the bug requires more time. The only valid reason for deferring the publication of a fix is to accommodate the logistics of QA and large scale rollouts which require release coordination.”h]”hX Although our preference is to release fixes for publicly undisclosed bugs as soon as they become available, this may be postponed at the request of the reporter or an affected party for up to 7 calendar days from the start of the release process, with an exceptional extension to 14 calendar days if it is agreed that the criticality of the bug requires more time. The only valid reason for deferring the publication of a fix is to accommodate the logistics of QA and large scale rollouts which require release coordination.”…””}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´MhjÄh²hubhÚ)”}”(hX|While embargoed information may be shared with trusted individuals in order to develop a fix, such information will not be published alongside the fix or on any other disclosure channel without the permission of the reporter. This includes but is not limited to the original bug report and followup discussions (if any), exploits, CVE information or the identity of the reporter.”h]”hX|While embargoed information may be shared with trusted individuals in order to develop a fix, such information will not be published alongside the fix or on any other disclosure channel without the permission of the reporter. This includes but is not limited to the original bug report and followup discussions (if any), exploits, CVE information or the identity of the reporter.”…””}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´M#hjÄh²hubhÚ)”}”(hŒíIn other words our only interest is in getting bugs fixed. All other information submitted to the security list and any followup discussions of the report are treated confidentially even after the embargo has been lifted, in perpetuity.”h]”hŒíIn other words our only interest is in getting bugs fixed. All other information submitted to the security list and any followup discussions of the report are treated confidentially even after the embargo has been lifted, in perpetuity.”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´M*hjÄh²hubeh}”(h]”Œ$disclosure-and-embargoed-information”ah ]”h"]”Œ$disclosure and embargoed information”ah$]”h&]”uh1hÄhhÆh²hh³hÃh´MubhÅ)”}”(hhh]”(hÊ)”}”(hŒCoordination with other groups”h]”hŒCoordination with other groups”…””}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhj#h²hh³hÃh´M0ubhÚ)”}”(hXºWhile the kernel security team solely focuses on getting bugs fixed, other groups focus on fixing issues in distros and coordinating disclosure between operating system vendors. Coordination is usually handled by the "linux-distros" mailing list and disclosure by the public "oss-security" mailing list, both of which are closely related and presented in the linux-distros wiki: ”h]”(hX…While the kernel security team solely focuses on getting bugs fixed, other groups focus on fixing issues in distros and coordinating disclosure between operating system vendors. Coordination is usually handled by the “linux-distros†mailing list and disclosure by the public “oss-security†mailing list, both of which are closely related and presented in the linux-distros wiki: <”…””}”(hj4h²hh³Nh´NubjX)”}”(hŒuh1jWhj4ubhŒ>”…””}”(hj4h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´M2hj#h²hubhÚ)”}”(hXµPlease note that the respective policies and rules are different since the 3 lists pursue different goals. Coordinating between the kernel security team and other teams is difficult since for the kernel security team occasional embargoes (as subject to a maximum allowed number of days) start from the availability of a fix, while for "linux-distros" they start from the initial post to the list regardless of the availability of a fix.”h]”hX¹Please note that the respective policies and rules are different since the 3 lists pursue different goals. Coordinating between the kernel security team and other teams is difficult since for the kernel security team occasional embargoes (as subject to a maximum allowed number of days) start from the availability of a fix, while for “linux-distros†they start from the initial post to the list regardless of the availability of a fix.”…””}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´M:hj#h²hubhÚ)”}”(hX As such, the kernel security team strongly recommends that as a reporter of a potential security issue you DO NOT contact the "linux-distros" mailing list UNTIL a fix is accepted by the affected code's maintainers and you have read the distros wiki page above and you fully understand the requirements that contacting "linux-distros" will impose on you and the kernel community. This also means that in general it doesn't make sense to Cc: both lists at once, except maybe for coordination if and while an accepted fix has not yet been merged. In other words, until a fix is accepted do not Cc: "linux-distros", and after it's merged do not Cc: the kernel security team.”h]”hX²As such, the kernel security team strongly recommends that as a reporter of a potential security issue you DO NOT contact the “linux-distros†mailing list UNTIL a fix is accepted by the affected code’s maintainers and you have read the distros wiki page above and you fully understand the requirements that contacting “linux-distros†will impose on you and the kernel community. This also means that in general it doesn’t make sense to Cc: both lists at once, except maybe for coordination if and while an accepted fix has not yet been merged. In other words, until a fix is accepted do not Cc: “linux-distrosâ€, and after it’s merged do not Cc: the kernel security team.”…””}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´MBhj#h²hubeh}”(h]”Œcoordination-with-other-groups”ah ]”h"]”Œcoordination with other groups”ah$]”h&]”uh1hÄhhÆh²hh³hÃh´M0ubhÅ)”}”(hhh]”(hÊ)”}”(hŒCVE assignment”h]”hŒCVE assignment”…””}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhjyh²hh³hÃh´MNubhÚ)”}”(hXGThe security team does not assign CVEs, nor do we require them for reports or fixes, as this can needlessly complicate the process and may delay the bug handling. If a reporter wishes to have a CVE identifier assigned for a confirmed issue, they can contact the :doc:`kernel CVE assignment team<../process/cve>` to obtain one.”h]”(hXThe security team does not assign CVEs, nor do we require them for reports or fixes, as this can needlessly complicate the process and may delay the bug handling. If a reporter wishes to have a CVE identifier assigned for a confirmed issue, they can contact the ”…””}”(hjŠh²hh³Nh´Nubh)”}”(hŒ1:doc:`kernel CVE assignment team<../process/cve>`”h]”j’)”}”(hj”h]”hŒkernel CVE assignment team”…””}”(hj–h²hh³Nh´Nubah}”(h]”h ]”(jŒstd”Œstd-doc”eh"]”h$]”h&]”uh1j‘hj’ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jªŒ refdomain”j Œreftype”Œdoc”Œ refexplicit”ˆŒrefwarn”ˆj°Œ../process/cve”uh1hh³hÃh´MPhjŠubhŒ to obtain one.”…””}”(hjŠh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´MPhjyh²hubeh}”(h]”Œcve-assignment”ah ]”h"]”Œcve assignment”ah$]”h&]”uh1hÄhhÆh²hh³hÃh´MNubhÅ)”}”(hhh]”(hÊ)”}”(hŒNon-disclosure agreements”h]”hŒNon-disclosure agreements”…””}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhjÄh²hh³hÃh´MWubhÚ)”}”(hŒpThe Linux kernel security team is not a formal body and therefore unable to enter any non-disclosure agreements.”h]”hŒpThe Linux kernel security team is not a formal body and therefore unable to enter any non-disclosure agreements.”…””}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙh³hÃh´MYhjÄh²hubeh}”(h]”Œnon-disclosure-agreements”ah ]”h"]”Œnon-disclosure agreements”ah$]”h&]”uh1hÄhhÆh²hh³hÃh´MWubeh}”(h]”(Œ security-bugs”hÂeh ]”h"]”(Œ security bugs”Œ securitybugs”eh$]”h&]”uh1hÄhhh²hh³hÃh´KŒexpect_referenced_by_name”}”jñh·sŒexpect_referenced_by_id”}”hÂh·subeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÃuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hÉNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÃŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”hÂ]”h·asŒnameids”}”(jñhÂjðjíjjŠjúj÷jÃjÀj j jÁj¾j jjvjsjÁj¾jèjåuŒ nametypes”}”(jñˆjð‰j‰jú‰jÉj ‰jÁ‰j ‰jv‰jÁ‰jè‰uh}”(hÂhÆjíhÆjŠhéj÷jjÀjýj jÆj¾jjjÄjsj#j¾jyjåjÄuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)”}”(hhh]”hÚ)”}”(hhh]”hŒ2Hyperlink target "securitybugs" is not referenced.”…””}”hj…sbah}”(h]”h ]”h"]”h$]”h&]”uh1hÙhj‚ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÃŒline”Kuh1j€ubaŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.