タグ

ブックマーク / www.jpcert.or.jp (5)

  • SIG30-C. シグナルハンドラ内では非同期安全な関数のみを呼び出す

    SIG30-C. シグナルハンドラ内では非同期安全な関数のみを呼び出す シグナルハンドラ内では非同期安全な関数のみを呼び出すこと。厳密に合致するプログラムでは、C 標準ライブラリ関数 abort()、_Exit()、および signal() をシグナルハンドラ内から呼び出すことができる。 C 標準 [ISO/IEC 9899:2011] セクション 7.14.1.1、第 5 段落には、シグナルが abort() または raise() 関数の呼び出し以外によって発生し、次の条件が該当する場合には、動作は未定義になると規定している。 シグナル処理ルーチンが、この規格で規定するライブラリ中の関数を呼び出す場合。ただし、abort 関数、_Exit 関数、又は、シグナル処理ルーチンの呼出しを発生させたシグナルに対応するシグナル番号を第 1実引数として signal 関数自身を呼び出す場合を除く。

    SIG30-C. シグナルハンドラ内では非同期安全な関数のみを呼び出す
  • CGI 等を利用する Web サーバの脆弱性 (CVE-2016-5385 等) に関する注意喚起

    各位 JPCERT-AT-2016-0031 JPCERT/CC 2016-07-19 <<< JPCERT/CC Alert 2016-07-19 >>> CGI 等を利用する Web サーバの脆弱性 (CVE-2016-5385 等) に関する注意喚起 https://www.jpcert.or.jp/at/2016/at160031.html I. 概要 CGI 等を利用する Web サーバにおいて、脆弱性 (CVE-2016-5385 等) が報告 されています。リモートから Proxy ヘッダを含むリクエストを受信した場合に、 サーバの環境変数 HTTP_PROXY に意図しない値が設定され、脆弱性を悪用され た場合、中間者攻撃が行われたり、不正なホストに接続させられたりするなど の可能性があります。 以下の条件を満たすソフトウエアは脆弱性の影響を受けます。 - 環境変数 HT

    CGI 等を利用する Web サーバの脆弱性 (CVE-2016-5385 等) に関する注意喚起
    akanehara
    akanehara 2016/07/19
  • JPCERT C Secure Coding Standard 日本語版 - プリプロセッサ (PRE) (#c01)

    CERT C コーディングスタンダード 00. はじめに 01. プリプロセッサ (PRE) 02. 宣言と初期化 (DCL) 03. 式 (EXP) 04. 整数 (INT) 05. 浮動小数点 (FLP) 06. 配列 (ARR) 07. 文字と文字列 (STR) 08. メモリ管理 (MEM) 09. 入出力 (FIO) 10. 環境 (ENV) 11. シグナル (SIG) 12. エラー処理 (ERR) 13. Application Programming Interface (API) 14. 並行性 (CON) 49. 雑則 (MSC) 50. POSIX (POS) AA. 参考情報 BB. Definitions CC. 未定義の動作 DD. 未規定の動作 XX. お問い合わせ 00はじめに このページでは、JPCERTコーディネーションセンターが翻訳を行っている CE

    JPCERT C Secure Coding Standard 日本語版 - プリプロセッサ (PRE) (#c01)
    akanehara
    akanehara 2015/08/19
  • ERR02-C. 正常終了時の値とエラーの値は別の手段で通知する

    ERR02-C. 正常終了時の値とエラーの値は別の手段で通知する インタフェースを設計する際は、正常終了時の値とエラーの値を別の手段で通知するように、設計せよ。Cのライブラリ関数では、正常終了時の値もエラー発生時の値も返り値で表すものが多いが、このような関数の設計は推奨できない。問題を起こしやすい一例として、標準Cの EOF がある(「FIO34-C. 文字入出力関数の返り値の取得には int 型を使用する」および「FIO35-C. sizeof(int) == sizeof(char) の場合、EOF およびファイルエラーの検出には feof() と ferror() を使用する」を参照)。また、「MSC31-C. 関数の返り値は必ず適切な型と比較する」には、問題を起こしやすい別の例として、標準Cの size_t 型と time_t 型に関する使用例が述べられている。 違反コード (sp

    ERR02-C. 正常終了時の値とエラーの値は別の手段で通知する
  • EXP05-C. const 修飾をキャストではずさない

    EXP05-C. const 修飾をキャストではずさない ポインタ型のオブジェクトに対するconst修飾をキャストしてはずさないこと。const 修飾をキャストして外すと、ポインタによって参照されるオブジェクトをプログラムで変更できるようになり、未定義の動作となる可能性がある。C 標準の附属書 J 「未定義の動作」の 64 を参照すること。 C 標準 [ISO/IEC 9899:2011] の脚注には以下のように記載されている (セクション 6.7.3, para. 4): 処理系は、volatileでないconstオブジェクトを、読み取り専用記憶域に置いてもよい。さらに、処理系はそのアドレスが使われないならば、そのようなオブジェクトに記憶域を割り付けなくてもよい。 違反コード 以下のコード例の remove_spaces() 関数は、引数として文字列へのポインタ str および文字列長

    EXP05-C. const 修飾をキャストではずさない
  • 1