นโยบายความปลอดภัย
หน้านี้เขียนตาม SECURITY.md ใน repository
การแจ้งช่องโหว่
หัวข้อที่มีชื่อว่า “การแจ้งช่องโหว่”แจ้งช่องโหว่แบบส่วนตัวเท่านั้น อย่าแจ้งใน issue, discussion หรือ pull request ให้ใช้ระบบแจ้งช่องโหว่แบบส่วนตัวของ GitHub โดยเปิดแท็บ “Security” ของ repository แล้วเลือก “Report a vulnerability” หรือไปที่แบบฟอร์มแจ้งแบบส่วนตัวโดยตรง รายงานนี้มีแต่ผู้ดูแลที่อ่านได้
รายงานที่ช่วยได้มากควรบอกว่า
- ทดสอบกับรุ่นไหนหรือ commit ไหน
- ติดตั้ง TomeCMS ด้วยวิธีไหน (บน VPS ด้วยสคริปต์ deploy หรือบนเครื่องสำหรับพัฒนา หรือแบบอื่น) และใช้โหมด bundled หรือ headless
- ผู้โจมตีทำอะไรได้ และต้องมีอะไรก่อน (บัญชีผู้ใช้ ตำแหน่งในเครือข่าย หรือไฟล์ที่สร้างขึ้นมาเฉพาะ)
- ขั้นตอนที่สั้นที่สุดที่ทำให้เกิดปัญหาซ้ำได้
อย่าทดสอบกับเว็บที่คุณไม่ได้ดูแลเอง และอย่าอ่าน แก้ หรือลบข้อมูลของคนอื่นเพื่อพิสูจน์ช่องโหว่
TomeCMS มีผู้ดูแลอยู่คนเดียว คำตอบแรกจะมาภายในเจ็ดวัน และผลการประเมินภายในสามสิบวัน คุณจะได้รับแจ้งเมื่อการแก้ไขพร้อม และเมื่อการแก้ไขนั้นออกในรุ่นใหม่ ชื่อของคุณจะอยู่ในบันทึกประจำรุ่น เว้นแต่คุณจะขอไม่ให้ใส่
รุ่นที่ได้รับการแก้ไข
หัวข้อที่มีชื่อว่า “รุ่นที่ได้รับการแก้ไข”| รุ่น | ได้รับการแก้ไขไหม |
|---|---|
รุ่น 1.x ล่าสุด และ main |
ได้ การติดตั้งแบบ managed รับการแก้ไขได้จากหน้าแอดมิน |
รุ่น 1.x ก่อนหน้านั้น |
ไม่ได้ ให้อัปเดตเป็นรุ่นล่าสุด |
รุ่น 0.x |
ไม่ได้ ให้ย้ายไป 1.x บนเซิร์ฟเวอร์เครื่องใหม่ |
ทุกอย่างใน repository นี้อยู่ในขอบเขต ได้แก่
- แอดมิน หน้าเว็บสาธารณะ และ API เนื้อหา
- การลงชื่อเข้าใช้ การกู้คืน และตัวติดตั้ง
- ตัวอัปเดตแบบ managed และบริการของมันบนเครื่องเซิร์ฟเวอร์
- workflow สำหรับออกรุ่น release manifest และ attestation ของมัน
- image ของ Docker
สิ่งที่อยู่นอกขอบเขต
- ช่องโหว่ใน dependency ที่เปิดเผยต่อสาธารณะแล้ว ให้แจ้งไปที่ต้นทาง แต่ถ้า TomeCMS ได้รับผลกระทบในแบบที่ประกาศของช่องโหว่นั้นไม่ได้พูดถึง ก็บอกเราด้วย
- สิ่งที่พบได้ก็ต่อเมื่อเจ้าของเว็บตั้งค่าเซิร์ฟเวอร์ผิดก่อน เช่น เปิด PostgreSQL หรือ SeaweedFS ไว้บนที่อยู่สาธารณะ
- การทำให้บริการล่มด้วยปริมาณคำขอล้วน ๆ
- การเพิ่มตัวเลขในสถิติโดยไม่เกินขีดจำกัดต่อ address ที่บอกไว้ในเอกสาร เพราะตัวเลขเหล่านั้นแสดงเป็นค่าประมาณอยู่แล้ว

